автоинкремент на таблицу, будет ли структура объекта отражать это перед сохранением изменений? - PullRequest
0 голосов
/ 04 сентября 2010

Моя настройка такова; Сначала я определю пару новых строк.

newCompany = new company
             {
                companyInfo = value.company_info,
                companyName = value.company_name,
                organizationNumber = value.company_orgnr
             };
newContract = new contract
              {
                 contractName = value.contract_name
              };

Затем я определяю новую строку в таблице contractToCompany:

contracttocompany newContractToCompany = new contracttocompany { company_idCompany = newCompany.idCompany, contract_idContract = newContract.idContract };

А потом я сохраняю изменения

context.SaveChanges();

У меня есть автоинкрементные id-столбцы во всех таблицах. Это правильный порядок действий или будут newContract.id и newCompany.id == по умолчанию или ноль?

Ответы [ 2 ]

1 голос
/ 05 сентября 2010

Ваша модель построена не так, как ожидает EF v1.Если вы хотите сделать это таким образом, вы должны сначала добавить компанию и связаться и сохранить изменения.Эта операция перезагрузит идентификаторы этих объектов, и вы сможете определить contactToCompany и снова сохранить изменения.

EF v1 ожидает, что вы смоделируете отношение M: N в виде свойств навигации.Вы можете выставить отношение M: N как два отношения 1: N для отдельной сущности ссылки, но вы должны сделать это вручную.Тем не менее, вам придется использовать свойства навигации вместо внешних клавиш.Как вы создали свое отображение?

1 голос
/ 04 сентября 2010

В основном, нет. Вы должны добавлять их в (друг друга) свойства навигации.

Или, может быть, (свойства навигации) таблицы ContractToCompany, но почему она все еще «видна» как таблица / сущность? EF обычно должен скрывать это для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...