实体框架4.1:ObjectContext与DbContext的区别

43

5
请参见 https://dev59.com/cXA75IYBdhLWcg3wGlEa。 - Martin
@所有人:在可能的重复建议上,你不应该点赞,而是应该投票关闭,如果你同意的话! - Ruben Bartelink
3个回答

26

我目前在数据库优先的情况下使用DbContext,并且它运行良好。DbContext不仅适用于Code First开发。

DbContext就像是ObjectContext的包装器。Julie Lerman有一个好的解释,说明您如何访问位于DbContext内部的ObjectContext,您可以在这里找到。因此,如果您决定使用DbContext,仍然可以使用ObjectContext来解决问题。

DbContext简化了常见任务。例如,Find()方法。

Product p = db.Products.Find(id);

16

使用设计器生成的模型和带有4.1 Code First模型的DbContext时,版本4.0的ObjectContext。


3
如果这个问题的投票数没有那么夸张,我会简单地评论一下:“为什么?请提供一些理由。” - Ruben Bartelink

2
似乎当您使用设计师生成的模型时,它会自动默认为ObjectContext。

只有在您不添加其他代码生成项的情况下才能执行此操作。 - ckonig
2
首先添加一个DbContext生成器,你的模型将使用DbContext。如果你首先添加POCO实体生成器,那么你的实体将派生自ObjectContext。 - zomf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接