У меня есть следующие таблицы (сокращенно для удобства чтения):
Вызов
ID CallerName CallerTime
Категории
ID CategoryName
CallCategories
CallID CategoryID
Когда я смоделировал их в Entity Framework, тальб отображений "CallCategories" был опущен.Я поставлен в тупик о том, как добавить запись в эту таблицу с помощью EF.
Я получил это далеко:
public void AddCategory(int callID, int categoryID)
{
using (var context = new CSMSEntities())
{
try
{
//Get the Call
var call = context.Calls.FirstOrDefault(x => x.callID == callID);
//Create a new Category
Category category = new Category();
category.categoryID = categoryID;
//Add the Category to the Call
call.Categories.Add(category);
context.SaveChanges();
}
catch (Exception ex)
{
throw ex;
}
}
}
Использую ли я "Добавить" или "Присоединить".Кроме того, кажется, что я могу подойти к этому неправильно.Должен ли я на самом деле создавать новую категорию?Похоже, что это создаст фактическую запись в таблице категорий, когда я действительно хочу просто добавить запись в таблицу сопоставления «многие ко многим».
Я просто не могу обернуть свой мозг вокругнекоторые из этого материала EF.: - /
ЦЕНА любая помощь!
В ответ на гнома ...
Я думаю, что вы здесь на что-то.Хотя, я бы не назвал «Добавить» (или это «Присоединить»)?Как:
//Get the Call
var call = context.Calls.FirstOrDefault(x => x.callID == callID);
//Find the Category and Add to the Call
Category category = context.Categories.FirstOrDefault(c => c.categoryID == categoryID);
call.Categories.Add(category);
context.SaveChanges();