我首先采用数据库方法;我已在 SQL Server 2008 数据库中创建了这些表,然后使用 ADO.NET 实体数据模型将这些表映射到实体框架类。但是当我打开 Designer.cs 文件时,我在自动创建的类定义中发现了以下代码:
public partial class PortalEntities : ObjectContext
所以我有以下三个让我困惑的问题:
为什么我的PortalEntities
类派生自ObjectContext
并不是DbContext
正如我所期待的那样?
之间有重大区别吗ObjectContext
& DbContext
,或者它们基本相同并提供相同的功能
-
当我尝试编写类似于以下代码的内容时:
Student student = db.Students.Find(id);
我发现我无法使用.Find()
方法就像我以前使用的那样DbContext
,这是否意味着ObjectContext
& DbContext
我可以使用不同的方法吗?
BR
The DbContext
是一个包装器ObjectContext
这简化了我们最常做的事情的界面。
如果你有一个DbContext
您仍然可以访问ObjectContext
trough ((IObjectContextAdapter)dbContext).ObjectContext;
如果您想使用DbContext
而不是ObjectContext
首次使用数据库时,您可以切换用于生成代码的模板。您可以通过右键单击 EDMX 并选择“添加代码生成项”来完成此操作。然后您可以选择 DbContext 模板。
这是一个例子 http://msdn.microsoft.com/en-us/data/jj613116.aspx整个过程。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)