EF CodeFist Добавить, а не обновить - PullRequest
0 голосов
/ 30 апреля 2011

У меня есть два класса, один - Post, а другой - Category, с отношением «многие ко многим».

Когда я создаю новый бизнес-объект Post и объект категории.

post.Categories.Add(category)

затем с помощью AutoMapper для сопоставления записи из объекта бизнес-модели в сущность данных, когда я делаю

dbContext.Posts.Add(post); 
dbContext.SaveChanges();

, она всегда добавляет новую строку в таблицу категорий, даже если экземпляр категории имеетзначение для идентификатора, который является ключом в базе данных.Кто-нибудь знает, как это изменить?если информация о категории существует в базе данных, ничего не делать, кроме добавления новой строки в таблицу CategorypryPosts

1 Ответ

0 голосов
/ 30 апреля 2011

Вам необходимо прикрепить категорию к контексту:

dbContext.Categories.Attach(category);

Это говорит EF, что это существующий, неизмененный объект.

...