问题标签 [ef-code-first]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
300 浏览

.net - 在没有 DB 调用的情况下获取持久实体引用

是否可以在没有 DB 往返的情况下获得对已知 ID 的已持久对象的引用,就像使用 NHibernate 所做的那样ISession.Load(id)

0 投票
12 回答
55959 浏览

c# - 如何指定属性应生成 TEXT 列而不是 nvarchar(4000)

我正在使用 Entity Framework 的 Code First 功能,并试图弄清楚如何指定在自动生成数据库时应该创建的列数据类型。

我有一个简单的模型:

当我运行我的应用程序时,会使用以下架构自动创建一个 SQL CE 4.0 数据库:

数据库架构

到现在为止还挺好!但是,我将插入到BodyandBodyHtml属性中的数据通常大于NVarChar列类型的最大允许长度,因此我希望 EF 为这些属性生成Text列。

但是,我似乎无法找到一种方法来做到这一点!经过相当多的谷歌搜索和阅读后,我尝试使用DataAnnotations这个答案中找到的信息指定列类型:

这会引发以下异常(当数据库被删除并重新运行应用程序时):

但我不知道我应该指定什么命名空间或别名,也找不到任何可以告诉我的信息。

我还尝试根据此参考更改注释:

在这种情况下,创建了一个数据库,但该Body列仍然是NVarChar(4000),因此似乎忽略了注释。

任何人都可以帮忙吗?这似乎应该是一个相当普遍的要求,但我的搜索一直没有结果!

0 投票
2 回答
3844 浏览

c# - EF Codefirst 如何为派生类创建单独的表?

我使用 EF Codefirst 在自己的表中有对象。现在,我尝试为每个对象的不同表中的已更改对象生成一个“存档”。

例如:

当我让 EF 创建模型时,它不包括Person_Archive 中 Person 的属性 :-( 即使我添加:

EF 仍然不重复派生类的属性。

有谁知道如何实现这一目标?

谢谢!安德烈亚斯

0 投票
2 回答
6139 浏览

c#-4.0 - EF Codefirst 如何使用 DataAnnotations 从多列创建键

我正在尝试获取在具有属性和 DataAnnotation 的类中声明的复合键。

似乎没有做到这一点。到目前为止,我所能找到的只是一些流畅的选项,但我只想用注释来做到这一点。

澄清一下:我正在寻找一种 DataAnnotation 方法来创建一个主键由 2 个字段 Id 和 Nr 组成的表...

感谢您的帮助安德烈亚斯

0 投票
4 回答
3700 浏览

c# - 如何使实体框架 CTP5 与 SQLite 一起工作?

我很难将 SQLite db 与 EF CTP5 一起使用。我只是想用 SQLite执行这个MSDN 示例。但在一线

我得到一个运行时异常:

System.Data.SQLite.SQLiteException(0x80004005):SQLite 错误没有这样的表:类别

注意:app.config文件需要修改,内容如下:

应用程序配置

0 投票
1 回答
357 浏览

c# - 使用 Entity Framework Code First CTP 5 执行地理空间搜索的最佳方法是什么?

我真的很想给 Entity Framework 4 Code First CTP 一个新应用程序的尝试,但我想在我这样做之前确保地理空间搜索不会成为问题,否则我会走另一条路。

有没有人使用 EF CF 进行地理空间搜索?如果是这样,你是怎么做到的,为什么?

0 投票
1 回答
3294 浏览

entity-framework - 实体框架 4 和代码优先 CTP 5 - 缺少密钥

有人能理解这个错误吗?

在模型生成期间检测到一个或多个验证错误:

System.Data.Edm.EdmEntityType: : EntityType 'Address' 没有定义键。定义此 EntityType 的键。System.Data.Edm.EdmEntitySet:EntityType:EntitySet 地址基于没有定义键的类型地址。

我定义了这个实体:

我的问题是:对于既具有 Key 属性数据注释以及其 PK 的常规 ID 名称的类,该错误有什么意义。

我认为这个类满足从它生成有意义的实体所需的所有规则。

0 投票
1 回答
155 浏览

asp.net-mvc-2 - 使用 EF4 代码优先更新模型时不保存关系

就像标题说的我做了一个成功的更新,但它不会保存像用户角色或其他什么的关系。当我添加具有角色和所有角色的用户(在我的情况下)时效果很好,但更新不起作用,这只是与其他一切都得到更新的关系。我对其他对象也有这个问题。有谁知道为什么如果它在更新时更改它不会保存关系?我也发布了一些代码,但我觉得这在这里并不重要。我想我只是缺少一些简单的东西。

编辑

在这种情况下,我最终将 直接添加Languageculturesuser而不是viewmodel.user

0 投票
1 回答
712 浏览

entity-framework-4 - 使用Entity Framework 4的实体和映射如何处理null(ICollection)?

我有这个同伴实体:

问题在于虚拟 ICollection 标签 { get; 私人套装;}

当里面没有标签时,它实际上显示为空。我无法初始化它,因为它需要是虚拟的。

如何处理实体中的空值?标签如何初始化以及在哪里初始化?

谢谢。

0 投票
2 回答
431 浏览

entity-framework-4 - 当我尝试在实体框架中插入实体时出现异常错误(使用代码优先)

当我尝试在 Entity Framework 中插入一个实体时(使用代码优先),我得到一个强制转换异常。

转换异常就像“不可能将 ...Collection'1(Entity) 转换为类型 (Entity)”

从这段代码:

我不知道为什么。我很确定我做的一切都是正确的。

发布实体

标记实体

映射

十分感谢。