powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ to SQl +WCF ошибка передачи добавленных сложных свойств!
17 сообщений из 17, страница 1 из 1
LINQ to SQl +WCF ошибка передачи добавленных сложных свойств!
    #36023831
OldWoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем! К сожалению эта ошибка то появляется то нет. Описание ситуации. Имеем модель (DAL) LINQ-to-SQL в которой присутствую две таблицы MasterTable и DetailTable. Добавляется свойство в частичный класс DeatilTable
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
        private string _number = "";
        [DataMember]
        public string NumberMaster
        {
            get
            {
                _number = "";
                if (this.MasterTable != null)
                    _number = this.MasterTable.Number;
                return _number;

            }
            set { _number = value; }
        }

пишем сервис где возвращаем нужные записи DeatilTable и получаем (не всегда) ошибку

При передаче через wcf получаем ошибку

System.ObjectDisposedException occurred
Message="Доступ к ликвидированному объекту невозможен.\r\nИмя объекта: \"DataContext accessed after Dispose.\"."
Source="System.Data.Linq"
ObjectName="DataContext accessed after Dispose."
то есть свойство начало "заполнятся" после отправки результат на клиент!

Кто ни будь с подобным встречался?
...
Рейтинг: 0 / 0
LINQ to SQl +WCF ошибка передачи добавленных сложных свойств!
    #36024723
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OldWoker,

Время жизни DataContext проверяйте, а то вы к нему обращаетесь после того, как он уже помечен на удаление... Нарисуйте sequence diagram для трех объектов - DataContext, WCF Service и Client - проще жить будет. А приведенный кусок кода ни о чем не говорит - совершенно непонятно, что и в какой последовательности происходит.
...
Рейтинг: 0 / 0
LINQ to SQl +WCF ошибка передачи добавленных сложных свойств!
    #36025468
OldWoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman S. GolubinOldWoker,

Время жизни DataContext проверяйте, а то вы к нему обращаетесь после того, как он уже помечен на удаление... Нарисуйте sequence diagram для трех объектов - DataContext, WCF Service и Client - проще жить будет. А приведенный кусок кода ни о чем не говорит - совершенно непонятно, что и в какой последовательности происходит.
Вот и мне не понятно.
Завели у Entity свойство пометили его [Datamember] в каком случае передастся клиенту ?
Когда (в какой момент) происходит сериализация ?
ведь все выражения обязательно кончаются ToList и значит все свойств заполнены?

Код: plaintext
1.
2.
3.
4.
5.
6.
using (DataContext db = new DataContext())
{

return db.DetailTables.ToList();

}
...
Рейтинг: 0 / 0
LINQ to SQl +WCF ошибка передачи добавленных сложных свойств!
    #36026809
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, сейчас еще раз взглянул на первый кусок кода...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
        private string _number = "";

        [DataMember]
        public string NumberMaster
        {
            get
            {
                _number = "";
                if (this.MasterTable != null)
                    _number = this.MasterTable.Number;
                return _number;
            }
            set { _number = value; }
        }

Для какой цели используется метод NumberMaster.set, если при попытке получения данных из _number его значение всегда сбрасывается? Метод get, имхо, вообще ни при каких обстоятельствах не должен менять состояние объекта...

а по поводу ошибки - можете создать небольшой проект, в котором эта ошибка воспроизводится и кинуть мне в почту на посмотреть? Почта grominc@gmail.com
...
Рейтинг: 0 / 0
LINQ to SQl +WCF ошибка передачи добавленных сложных свойств!
    #36026811
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хмм.... в догонку...

Код: plaintext
1.
                if (this.MasterTable != null)
                    _number = this.MasterTable.Number;

MasterTable в данном случае не завязана на DataContext ?? Что из себя представляет MasterTable?
...
Рейтинг: 0 / 0
LINQ to SQl +WCF ошибка передачи добавленных сложных свойств!
    #36026996
OldWoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman S. GolubinХмм.... в догонку...

Код: plaintext
1.
                if (this.MasterTable != null)
                    _number = this.MasterTable.Number;

MasterTable в данном случае не завязана на DataContext ?? Что из себя представляет MasterTable?
...
Рейтинг: 0 / 0
LINQ to SQl +WCF ошибка передачи добавленных сложных свойств!
    #36026997
OldWoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OldWoker,

обе таблицы находятся в DataContext!!!
...
Рейтинг: 0 / 0
LINQ to SQl +WCF ошибка передачи добавленных сложных свойств!
    #36027111
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OldWoker,

надоело на пальцах. Выкладывай контракты, иначе можно гадать еще несколько дней :))
...
Рейтинг: 0 / 0
LINQ to SQl +WCF ошибка передачи добавленных сложных свойств!
    #36027673
OldWoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman S. GolubinOldWoker,

надоело на пальцах. Выкладывай контракты, иначе можно гадать еще несколько дней :))
OK! За выходные сделаю маленький пример на Northwind и выложу!
...
Рейтинг: 0 / 0
LINQ to SQl +WCF ошибка передачи добавленных сложных свойств!
    #36028028
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весьма странная конструкция.В каждой деталировке нужно мастера таскать.Зачем это нужно?
...
Рейтинг: 0 / 0
LINQ to SQl +WCF ошибка передачи добавленных сложных свойств!
    #36028111
OldWoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaВесьма странная конструкция.В каждой деталировке нужно мастера таскать.Зачем это нужно?
Пример тестовый. Более реальный случай - при передаче вам нужно не только id партнёра но и его название
Код: plaintext
1.
2.
3.
4.
5.
6.
[DataMember]
public string PartnerName{
get {

this.Partner.Name;
}
}
...
Рейтинг: 0 / 0
LINQ to SQl +WCF ошибка передачи добавленных сложных свойств!
    #36028112
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
LINQ to SQl +WCF ошибка передачи добавленных сложных свойств!
    #36029324
OldWoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OldWokerRoman S. GolubinOldWoker,

надоело на пальцах. Выкладывай контракты, иначе можно гадать еще несколько дней :))
OK! За выходные сделаю маленький пример на Northwind и выложу!
Выполняю обещание. Тест во вложении. Не забудьте исправить web.config!
...
Рейтинг: 0 / 0
LINQ to SQl +WCF ошибка передачи добавленных сложных свойств!
    #36029331
OldWoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bured м.б. поможет
Спасибо! Почитаю
...
Рейтинг: 0 / 0
LINQ to SQl +WCF ошибка передачи добавленных сложных свойств!
    #36032451
OldWoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OldWokerbured м.б. поможет
Спасибо! Почитаю
Помогло :-)
...
Рейтинг: 0 / 0
LINQ to SQl +WCF ошибка передачи добавленных сложных свойств!
    #36032827
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OldWoker,

напишите подробно, что конкретно.
...
Рейтинг: 0 / 0
LINQ to SQl +WCF ошибка передачи добавленных сложных свойств!
    #36037335
OldWoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OldWokerbured м.б. поможет
Спасибо! Почитаю
Почитал. Там разъяснён этот случай.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ to SQl +WCF ошибка передачи добавленных сложных свойств!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]