powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Lookup-справочник
1 сообщений из 1, страница 1 из 1
Lookup-справочник
    #37583124
LikeSummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня всем!

Пытаюсь освоить Entity Framework. Подсобите, пожалуйста, решить проблему, либо пните на правильный путь.
Создал две сущности с помощью дизайнера в режиме Model-First

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
class ContractClass
{
   int ID { get; set;}
   string Name { get; set;}
}

class ContractKind
{
   int ID { get; set;}
   string Name { get; set;}
   string Code { get; set;}
   int ContractClassID { get; set;}
...
   ContractClass ContractClass { get; set;}   
...
}



ContractClassID в ContractKind - это внешний ключ к ContractClass.
ContractClass в ContractKind - это свойство навигации.
Name, Code в ContractKind - обязательные поля
Сделал один ObjectContext на все приложение.

Делаю форму для вставки нового ContractKind.
Свойство ContractClass привязываю к ComboBox. Дергаю из ObjectContext коллекцию ObservableCollection<ContractClass> и прицепляю ее к ComboBox.ItemsSource. Форма нормально заполняется, и объект ContractKind добавляется в базу кодом ниже.

Код: c#
1.
2.
ObjectContext.AddObject(newContractKind);
ObjectContext.SaveChanges();



Теперь хочу, чтоб во время заполнения формы нового ContractKind, я мог создать новый ContractClass посредством вызова справочника в модальном окне и затем присвоить его свойству ContractKind.ContractClass. Но при попытке сохранить новый ContractClass в модальном справочнике метод ObjectContext.SaveChanges() пытается заодно сохранить и недозаполненный новый объект ContractKind и вылетает с ошибкой, поскольку пользователь не успел заполнить обязательные поля.
Это происходит в случае, если перед вызовом модального справочника свойство ContractKind.ContractClass уже имело какое-то значение. Если присвоить свойству навигации какой-то объект из датаконтекста, то редактируемый объект автоматически аттачится к тому же контексту.
1. Можно ли как-то изменить поведение датаконтекста, чтоб редактируемый объект остался неприаттаченным?
2. Как лучше реализовать редактирование лукаповских полей на форме?
Извините, если сумбурно изложил.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Lookup-справочник
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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