12得票3回答
如何对Entity Framework Code First的映射进行单元测试?

我正在使用Code First将类映射到一个已存在的数据库。我需要一种方法来对这些映射进行单元测试,这些映射是基于约定、属性和Fluent API混合而成。 为了进行单元测试,我需要确认类的属性是否正确地映射到了数据库中的表和列名。这个测试需要针对上下文进行,并应该涵盖Code First的...

11得票2回答
如何在Entity Framework 4.3 Code First中禁用使用__MigrationHistory表?

我正在使用具有自定义数据库初始化程序的Entity Framework 4.3 Code First,代码如下:public class MyContext : DbContext { public MyContext() { Database.SetIniti...

11得票3回答
在EF Code First中混合使用Fluent API和DataAnnotations

虽然我们主要使用流畅的配置来配置我们的代码优先 POCOs,但我们发现使用数据注释来为表名、主键等添加注释非常有用,因为这样可以使没有对 ObjectContext 的引用的非 EF 组件更容易地与这些实体交互。 根据我们的经验,似乎可以自由地混合两种配置样式,其中流畅的配置会覆盖 Data...

11得票2回答
生成的标识符过长,无法用作约束名

我刚开始使用Entity Framework(4.3.1),并正在使用MySQL EF提供程序(6.5.4)创建一个使用TPT继承的代码优先模型。 当尝试创建数据库结构时,我收到了一个MySQLException "Identifier name 'LongClassNameOne_TypeC...

10得票1回答
如何使用Entity Framework Code First Migrations影响列的顺序

我正在使用Entity Framework 4.3 Code First并尝试使用迁移功能。 如果我向我的类添加一个新属性,然后从包管理器控制台窗口运行Add-Migration命令,我会得到以下类似输出: public override void Up() { ...

10得票1回答
OnModelCreating和非自动迁移之间的关系是什么?

当我向数据库添加一个新的表以及与其他表的关系后,运行Add-Migration命令会在Up方法中生成代码以添加该表及其关联关系。 然而,我更喜欢在OnModelCreating方法中使用流式API定义关系。这两种方法如何交互?例如,我可以删除Up方法中定义关系的代码吗?

10得票1回答
使用“DbContext”是否总是比使用“ObjectContext”更好?

我刚刚下载了 EntityFramework.dll v4.3。我找到了一些比较 DbContext 和 ObjectContext 的问题,但大多数是来自2010年或2011年初。 我想更深入地了解这个主题。具体来说,有没有关于 DbContext 的书籍可以供我参考?截至今天,DbCon...

10得票2回答
Code First自动生成代理类,导航属性和集合属性为空。

我所有的POCO对象中,导航属性和集合属性都为null。 让我提供一些背景。我的项目使用EF 4.3.1,并且禁用了代理生成。手动管理集合和导航属性。 现在,我正在启用代理创建和延迟加载。调试时,我可以看到我的实体(转换为已知的POCO类型)现在实际上是一个自动生成的代理类。目前为止很好。...

10得票1回答
一对一关系导致异常:AssociationSet处于“已删除”状态。考虑到多重性约束。

我使用EF code first按照这里建议的方法建立了一个一对一的关系: 在Entity Framework中建立单向一对一关系 我的映射看起来像这样...protected override void OnModelCreating(DbModelBuilder modelBuilde...

9得票2回答
能否表达一个检查约束?

我正在使用Entity Framework 4.3进行代码优先开发,似乎无法通过属性注释或其他任何方式表达 检查约束。 我看到EF 5.0将添加支持检查枚举,但这不完全是我想要的。 简单来说,我想验证所有 Person 对象的名字是“Bob”或“Harry”,年龄为5、10或30岁。 pu...