EF CodeFist添加而不是更新

时间:2011-04-30 01:04:52

标签: many-to-many ef-code-first

我有两个班,一个是Post,另一个是Category,有多对多的关系。

当我创建一个新的Post业务对象和一个类别对象时。

post.Categories.Add(category)

然后使用AutoMapper将帖子从业务模型对象映射到数据实体, 当我做的时候

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

它总是向Categories表添加一个新行,甚至类别实例也有ID值,这是数据库中的键。任何人都知道如何改变这个?如果数据库中存在类别信息,则不执行任何操作,除了向CategpryPosts表添加新行

1 个答案:

答案 0 :(得分:0)

您需要将类别附加到上下文:

dbContext.Categories.Attach(category);

告诉EF它是一个未经修改的现有实体。