EF программно вставляет много ко многим - PullRequest
1 голос
/ 03 мая 2010

У меня есть таблица с этой структурой ID PK и два столбца с FK, например ActivityID и ContactID. Я пытаюсь программно вставить какое-то значение в эти два столбца FK. Как я могу это сделать, любая помощь оценена.Tnx

Ответы [ 2 ]

0 голосов
/ 03 мая 2010

Если вы хотите использовать свою структуру - вам нужно получить экземпляры Activity и Contact и просто установить соответствующие свойства для нового объекта.

var newActivityContact = new ActivityContact();// m_Entities.CreateActivityContact(0);
newActivityContact.Activity = activityRepository.GetById(activityId);
newActivityContact.Contact = contactRepository.GetById(contactId);
m_Entities.AddToActivityContact(newActivityContact);
m_Entities.SaveChanges();
0 голосов
/ 03 мая 2010

Я думаю, что лучшим решением было бы избавиться от первичного ключа, настроить комбинацию ActivityID и ContactID как PK, а затем воссоздать всю модель в визуальном конструкторе. Каждый Activity объект будет иметь Contacts свойство навигации, а каждый Contact будет иметь Activities. Вы сможете добавить контакты в активность, позвонив по номеру:

activity.Contacts.Add(contact);

Если вам действительно нужен дополнительный ID, он будет более сложным.

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