Сначала я создаю приложение, используя MVC и код Entity Framework.
Я использую инициализатор для заполнения базы данных, когда она воссоздается при любых изменениях модели.
У меня проблемы с EF Code. Сначала я создаю дубликаты записей. Самый простой способ объяснить это - показать мой код.
//
// POST: /Incident/CreateIncident
[HttpPost]
public ActionResult CreateIncident(IncidentViewModel model)
{
Incident incidentToAdd = new Incident();
// Record incident details
incidentToAdd.Caller = repository.GetDomainUser(model.selectedCaller);
incidentToAdd.CallerType = model.Incident.CallerType;
incidentToAdd.Service = repository.GetService(model.selectedService);
incidentToAdd.Category = repository.GetCategory(model.selectedCategory);
incidentToAdd.AllocatedTo = repository.GetHelpDeskMember(model.selectedAllocatedTo);
[Rest of code omitted to save space]
// TODO: Send Email to Caller and AllocatedTo
// Store incident in database
db.Incidents.Add(incidentToAdd);
db.SaveChanges();
return RedirectToAction("Index");
}
Я получаю существующий Service, Category и AllocatedTo из репозитория, но когда речь идет о сохранении записи, вместо ссылки на существующий Service, Category и т. Д. Он создает новую запись, которая является дубликатом существующего .
Я не очень хорошо объяснил это. Но если вы можете предложить какую-либо помощь, она будет очень признательна.
Спасибо.