问题标签 [entity-framework-5]

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

sql-server - Entity Framework Power Tools 扩展的源代码是否可用?如果没有,它会永远存在吗?

在使用EF Power Tools 扩展 beta 2对复杂的数据库进行逆向工程时,我遇到了一些性能问题。我有一些关于如何改进这一点的理论,但找不到任何对已发布来源的参考。

这个扩展会作为开源发布吗?如果是,何时何地?


顺便说一句,我遇到的问题是逆向工程在我的复杂数据库上花费了很长时间(在此期间 SQL Server 正在工作)并挂起 Visual Studio UI(我使用的是 2010 )。

在我强大的工作站和完全空闲的 SQL Server 上,这个过程大约需要 10 分钟。我之前在一个更简单的数据库上尝试过它,它在大约 5 秒内完成。

我猜它在数据库上创建了一个非常繁重的模式查询,然后在等待响应时挂起 UI 线程。如果是这种情况,我会尝试拆分查询结果并以块的形式获取数据,并且还可能将生成代码移动到单独的线程中,同时 UI 会提供有关进度的反馈。

一个更简单的解决方案是只创建一个命令行界面来做同样的事情(已经有一个,我错过了吗?)

0 投票
1 回答
508 浏览

c# - 检测 DropCreateDatabaseIfModelChanges 是否运行?

我正在使用使用 EF5 的 CodeFirst 方法。

如果我的模型发生更改,我正在考虑运行 DropCreateDatabaseIfModelChanges 来修复数据库,但是当它运行时需要重新填充数据。

我认为我可以进行实体计数以查看它是否已运行,但我很好奇是否有更优雅的方法来执行此操作?(我可以让我的代码查找的某种返回值或事件)

提前致谢。

0 投票
2 回答
10795 浏览

c# - 实体框架迁移不包括 DefaultValue 数据注释 (EF5RC)

我有一个看起来像这样的类:

在创建包含此类的迁移时,我得到:

我希望这Enabled条线看起来像这样:

当然我可以自己做,但我只是问是否有办法让 Entity Framework 自动做。

我正在使用最新的 Entity Framework 5 RC (5.0.0-rc.net40)。

0 投票
1 回答
180 浏览

visual-studio-2010 - ADO 实体数据模型设计器在带有 EF 5 的 VS 2012 RC 中不可用?

我使用 EF 5 RC 将 VS 2010 升级到 2012 RC,但 ADO 实体数据模型设计器不再可用。在这种情况下,如何使用 edmx 从数据库中更新 edmx?

0 投票
1 回答
593 浏览

entity-framework - 如何访问具有无法使用 Code First 建模的复合键的表?

我有一个无法更改但想使用 EF 访问的现有数据库。对于 90% 的数据库,我已经能够让 Code First EF 工作,这给我留下了非常深刻的印象。

我遇到了一个案例,我想知道如何通过导航属性建模或访问数据。

在一种情况下,表格是这样的(这个例子完全是虚构的,但代表了问题):

在表品种中,组织代表已定义品种的组织。一只狗可以有多个品种,但程序只显示一个,结果由组织 ID“过滤” - 这是在设置程序时配置的值。

可能存在的数据示例如下:

组织 2 选择将品种称为与组织 1 不同的东西。唯一的主键是 id 和组织 ID 的组合。狗有一个品种,但没有定义一个或多个相关组织的属性。它从另一个表中获取附加信息,或者从配置值(可能是枚举值)中获取狗的品种。

在我的例子中,要找到一个特定的狗品种,你必须有一个狗 id 和另一个与程序配置相关的信息(organization_id)。

狗、品种和组织类如下所示:

从代码中可以看出,我想在 Dog 上使用返回品种的“导航”属性,但不要认为我可以先在代码中配置它。

我尝试了一些不同的东西(在流利的 API 中,并把组织排除在外——因为这很容易)并且还会记录我认为不起作用的东西:

当然,这样做的问题是将返回多个品种并且实体框架将抛出​​异常,因为品种ID 本身不足以产生模型所要求的单个值。

如果我能让模型工作,其余的都可以工作,但它确实看起来很奇怪而且效率低下。

我不知道如何像最后一行那样“注入”configuredValue,所以这也不起作用。

如果上述方法都不起作用,或者如果我找不到另一种方法来首先正确配置代码,那么我想指定当调用 Breed 导航属性 getter 时,它应该使用可以获取适当的查询繁殖并适当归还。

但是,我不想用 Context 调用弄脏我的 POCO 以返回查询结果。换句话说,我想在 Dog 上有一个看起来不像这样的属性:

理想情况下,它会像 Navigation 集合一样工作,EF 在其中发挥神奇作用并返回适当的结果。

直观地说,似乎我应该能够使用类似 POCO 的代码来配置它,或者使用/扩展代理来扩展配置以在调用访问器时使用我想要的特定查询。或者 - 似乎我应该能够在任何读取时填充属性并在写入时弄脏 POCO。我只是对 EF 不够熟悉,不知道如何做到这一点。

这可能吗?

作为第一篇文章的补充,因为我希望保持我的 POCO 类干净,我想我可能会实现 Repository 模式来封装我所描述的复杂查询,并支持其他操作。

查看我从 Code First 模型生成的 EDMX,也不清楚如何从数据库优先的角度实现该模型。

任何想法都非常感谢。

0 投票
1 回答
143 浏览

linq - 查询以首先获取 EF 代码中的根/基本实体

认为:

问题在于以一种有效的方式获取基础实体。我知道有效的是这种类型的查询:

然而,这容易被破坏,因为简单地添加另一个扩展BaseEntity,就像ChildEntityTwo : BaseEntity会破坏查询(查询将包括BaseEntityChildEntityTwo类型。

此外,我还没有机会对其进行分析,但我怀疑查询会下载所有实体并将它们过滤到内存中,但我可能错了。

请注意,该解决方案context.BaseEntities.OfType<BaseEntities>()实际上也将包含并下载所有实体!它仅在您需要端点类时才有效,例如ChildEntityTwo

0 投票
2 回答
300 浏览

asp.net - 如何将带有 EF4 的 MVC3 应用程序迁移到 EF4.5

谁能帮助我如何将 EF4 迁移到 EF4.5 或 5?谢谢

0 投票
1 回答
3904 浏览

.net - .NET4.0 不完全支持 EF 5 是否存在技术原因?

我想将我的应用程序升级到 EF 5,以利用支持枚举空间等功能。但是,除非我迁移到 .Net 4.5,否则我无法升级。

我想知道 .Net 4.5 的哪些功能 EF 5 使用了它在 .Net 4.0 中无法完成的功能?

0 投票
1 回答
6915 浏览

c# - 枚举 EF 5.0 - 数据库优先

如果我使用 Database First,我如何才能使我的上下文对象使用 Entity Framework 5.0 中的 Enum 功能。

0 投票
3 回答
534 浏览

entity-framework - 如何为实体框架 5 定制多元化

由于我的数据库是使用德语表名和列名设计的,因此实体框架的默认复数功能对我不起作用。

我找到了一些讨论这个问题的资源,但它们似乎都不起作用。

我发现了什么:有 PluralisationService 我可以在其中添加映射:

但接下来是什么?我试图:

并将它们都放入我的 POCO T4 模板中。但它抛出了以下异常:

EntityContainer 'ContainerName' 不是商店 EntityContainer。参数名称:StoreEntityContainer
at System.Data.Entity.Design.EntityModelSchemaGenerator.Initialize(...)
at Microsoft.VisualStudio.TextTemplating...GeneratedTextTransformation.TransformText()