问题标签 [entity-framework-4.1]

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 回答
1110 浏览

entity-framework - EF CF:遗留数据库的复杂类型

我成功地映射了我的复杂类型,如下所示:

到现在为止还挺好。但请注意,我们没有指定任何实体类型。如果我们还想为包含“firstN”和“lastN”列的表映射相同的复杂类型怎么办?我试过 EntityTypeConfiguration<> 但你不能在那里指定复杂的类型。最后,看起来 complexTypes 是全局定义的。

0 投票
1 回答
404 浏览

c# - 基于抽象实体 (EF 4.1) 的包含属性问题

LoadProperty 是 Include 方法的不错替代方法...基于抽象实体 (EF CTP5) 急切加载嵌套导航的问题

但是我不能在我的存储库中这样做,因为我没有上下文,我只有 IDbSet。你认为这是个坏主意吗?我应该使用 DbContext 而不是 IDbSet 吗?或者其他替代方案是可能的?(我的问题类似于引用的链接)谢谢

0 投票
1 回答
9389 浏览

c# - 如何配置 T4 模板以在不同项目中生成类

我正在使用新的实体框架 4.1 模型优先方法,该方法利用 T4 模板从可视模型生成类。

我可以配置 T4 模板以在另一个项目中创建 POCO 类和 Context 类(或通常它们生成的任何东西)吗?

请注意,我不想将 T4 模板(带有 .tt 的文件)移动到另一个项目,然后将模板更改为持久性项目中的 EDMX 文件。我希望它真正在另一个项目中生成这些类,然后是模板的位置。那可能吗 ?

谢谢你的回答


注意:这与在不同项目中生成 POCO 类与使用实体框架模型的项目的问题不重复,因为作者想要我不想要的:将整个模板与生成的类一起移动。

我完全理解移动整个模板并不意味着其他项目将变得具有持久性意识。尽管如此,我还是有理由不希望它与 POCO 类在同一个项目中。

0 投票
3 回答
3721 浏览

c# - C# 到 F# - EF 代码优先

Dealer我在谁可以拥有很多之间建立了一对多的关系Cars

我正在尝试将用于 EF 的 C# 代码转换为 F#...问题只是在我的 F# 代码中它可以很好地获得经销商,但它不会为经销商...它只是返回 null,但在它工作的C#版本?

我的代码:

C# 版本

... Program.cs 查询经销商和他的汽车:

F# 版本

... ToLinq 函数:

... 而 Program.fs 将获得经销商和他的汽车:

任何帮助表示赞赏!

0 投票
2 回答
2012 浏览

c# - 多对多映射不起作用 - EF 4.1 RC

更新:经过更多研究,我的许多多对多映射似乎不起作用。嗯……

我正在将数据访问项目从 EF 4.1 CTP4 升级到 EF 4.1 RC,但我在使用新EntityTypeConfiguration<T>设置时遇到了问题。

具体来说,我遇到了多对多关系的问题。Sequence contains no elements当我尝试获取该.First()项目时,我遇到了异常。

特别的例外并不是那么有趣。它只是说没有项目,我知道集合中应该有项目 - 所以我的新映射肯定有问题。

这是我到目前为止的代码:

产品型号

基本配置

产品配置

以前的 CTP4 映射工作!

任何人都可以看到任何需要修复的东西吗?如果您希望我提供更多代码,请告诉我。

编辑:更多代码

数据库表

标签

标签配置

是的,这是一个遗留数据库,其命名约定高达 boohai

我知道Tag该类必须正确连接,因为 Product 具有另一个属性Specialization,该属性也映射到Tag并且正确加载。但请注意,它是以一对多的方式映射的。所以它似乎是多对多的Tag

我将开始检查是否有任何多对多关联有效。

0 投票
1 回答
471 浏览

entity-framework - EF4.1 Code First 可以同时表达 1-1 和 1-many 到同一张表吗?

高级问题:我想快速查找与我有一对多关系的表。

我有一个类似日志的大型表,其中包含一个员工表的外键。我想将员工表与最近的日志条目(对于该员工)以及许多日志条目的常规集合建立关系。我只能使用一对多,只查询日志文件上的最后一个时间戳和员工 ID,但我更喜欢直接指针。

是否可以使用注释做这样的事情?

一种解决方案是存储一个整数 currentTagEntryId,但理想情况下,我想使用 tag.CurrentTagEntry.log 类型表示法来引用日志。

0 投票
5 回答
2725 浏览

c# - 如何允许 EF4 CodeFirst 数据库初始化程序在开发中运行,但不在生产中运行

我正在尝试在线部署我的第一个 alpha 版本的系统,以供少数人开始使用。在开发过程中,我大量使用DropCreateDatabaseOnModelChange<TContext>(目前我面前没有它,所以我无法验证确切的名称)在每次我的模型更改时重新初始化我的开发数据库。这发生在Global.asax.

但是,我不希望这种情况发生在其他人正在输入真实数据的网络主机上。我需要自己处理那里的所有数据库迁移,以便保留数据。

我曾考虑#ifdef DEBUG使用标签来防止调用数据库初始化程序,但我不喜欢那个解决方案。现在,我已经部署了调试版本,所以如果他们遇到任何错误,我很容易看到并调试它们(这是非常非常 alpha,所以只有少数人在使用它并且知道会出现错误)。

我还有哪些其他选项可以防止 Prod DB 首先被 EF4 代码丢弃?

0 投票
2 回答
21211 浏览

c# - Entity Framework CodeFirst 与附加信息的多对多关系

我有以下模型:

问题是 Part 和 Contract 之间的关系还包含以下附加信息:

我将如何为此编写实体上下文?

0 投票
1 回答
474 浏览

c# - 为什么即使没有“Database.SetInitializer<>()”调用,EF4.1 CodeFirst 也会创建数据库?

我已经注释掉了Database.SetInitializer<>()我的 EF Code First 应用程序中的所有调用。然而,即使没有任何显式调用来创建数据库,我的 Asp.net MVC 应用程序仍在创建数据库。为什么这是一个问题,我有几个原因:

1) 我不喜欢 EF 在没有我告诉它的情况下创建新数据库的事实。

2)它不断尝试在我的虚拟主机上创建(或更新)数据库(即使数据库已经存在),因此我得到了权限被拒绝的异常。

有谁知道为什么这似乎完全不受我的控制?

0 投票
1 回答
283 浏览

entity-framework - 递归问题实体框架

我正在使用 EF 4.1 CTP5 和 SQL Server 2008。我需要了解如何解决递归问题。我有以下两个课程:

实体通过两个表(Nations 和 NationAllies)映射到数据库。此外,还有两种关系。1) 从 NationAllies.OwnerID 到 Nation.ID 2) 从 NationAllies.ToNationID 到 Nation.ID

当我尝试从数据库中检索 Nation 类型的对象时,我访问了 DbContext 类 NationDB:

问题是我得到了一个 selectedNation 对象,它有一个 NationAllies 列表,但列表中的每个 NationAlly 都有字段 toNation = null。首先,我希望字段 toNation 从数据库中检索正确的信息。我该怎么做呢?

然后当然 toNation 将与其他 NationAllies 连接,而后者又将拥有另一个 Nation。怎么可能建立一个递归地图?我的想法是通过以特定方式查询数据库,将地图导航到某个级别。这样做,获得良好速度性能的最佳方法是什么?