#entity-framework
#entity-framework
Вопрос:
У меня есть таблица с идентификатором этой структуры PK и двумя столбцами с FK, например ActivityId и ContactID. Я пытаюсь программно вставить некоторое значение в эти два столбца FK. Как я могу это сделать, любая помощь приветствуется.Tnx
Ответ №1:
Если вы хотите использовать свою структуру — вам нужно получить экземпляры 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();
Комментарии:
1. activityRepository. GetById(ActivityId) — это запрос для получения этого действия.
2. да — извлеките его из вашего экземпляра m_Entities, например m_Entities. Контакты. FirstOrDefault(c=>c.Contact_Id == ContactID);
Ответ №2:
Я думаю, лучшим решением было бы избавиться от первичного ключа, настроить комбинацию ActivityId и ContactID как PK, а затем воссоздать всю модель в visual designer. Каждый Activity
объект будет иметь Contacts
свойство навигации, и каждый Contact
будет иметь Activities
. Вы сможете добавлять контакты в activity, вызывая:
activity.Contacts.Add(contact);
Если вам действительно нужен дополнительный идентификатор, это будет сложнее.
Комментарии:
1. У меня есть эти два FK в datatable, и я пытаюсь вставить это в эту относительную таблицу в sql.