【问题标题】:EF CodeFist Add rather than UpdateEF CodeFist 添加而不是更新
【发布时间】:2011-04-30 01:04:52
【问题描述】:

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

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

post.Categories.Add(category)

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

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

它总是在类别表中添加一个新行,即使类别实例具有 ID 的值,它是数据库中的键。有谁知道如何改变这个?如果数据库中存在类别信息,则什么也不做,除了向 CategpryPosts 表中添加一个新行

【问题讨论】:

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


    【解决方案1】:

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

    dbContext.Categories.Attach(category);
    

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

    【讨论】:

    • 谢谢,这也不能直接解决我的问题。但它给了我一些解决它的提示。再次感谢
    猜你喜欢
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    • 2019-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多