问题标签 [entity-framework-4.3]

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 投票
3 回答
2024 浏览

.net - 使用 EF 4.3 迁移添加时间戳

我正在使用 Code First 迁移,并且正在更改我的模型以将时间戳字段添加到我的表中。我正在尝试在第二次迁移中添加时间戳字段。这是我的代码的示例

生成的迁移看起来像这样

当我执行 Update-Database 命令时,我收到一条错误消息,提示 “无法在数据类型时间戳的列上创建默认值。表 'Users',列 'TimeStamp'。无法创建约束“我从表,但这并没有解决问题。

如何向此迁移集添加时间戳字段?

0 投票
1 回答
3547 浏览

asp.net-mvc-3 - XXXX 不再使用。现在用于检测模型的变化

在 EF 4.3IncludeMetadataConvention中,EdmMetadata其他类已过时:

XXX 不再使用。EdmMetadata 不包含在模型中。<see cref="EdmModelDiffer" /> 现在用于检测模型中的变化。

它是什么EdmModelDiffer以及应该如何使用?

0 投票
3 回答
2884 浏览

entity-framework - 无法在 Entity Framework 4.3 中启用迁移

我有一个带有 EF Code First 的类库。我刚刚升级到 EF 4.3,现在我想启用迁移。

Enable-Migrations -ProjectName MyProjectName在 PM 控制台中输入,但收到以下错误

我不知道哪个字典可能是错误的。

我的连接字符串如下所示:

知道可能出了什么问题吗?

请注意:
我在控制台应用程序中使用我的类库和我的 app.config 的精确副本,在那里我可以很好地访问我的数据库。

0 投票
3 回答
1758 浏览

c# - 如何在实体框架数据上下文中的属性名称中使用 sql 保留关键字?

以下代码抛出异常“ EntitySqlException: 'Group' 是保留关键字,不能用作别名,除非它被转义。靠近第 1 行,第 11 列”。

我的问题首先是为什么我在数据上下文中选择的集合名称与生成的 sql 查询之间存在任何关系?

其次,除了在我的上下文中重命名属性之外,我能做些什么来解决它(我知道这个名字很愚蠢,有一些原因我不能改变这个名字,就像我想的那样,我赢了'不要进入这里)?

有什么我可以用模型构建器做的吗?

0 投票
1 回答
1439 浏览

entity-framework - 实体框架分离对象合并

我有一个场景,我在 WCF 服务中使用实体框架,并且更改发生在通过代码优先映射回数据库的类型的非跟踪实例上(整个实例的对象树中的非平凡更新和删除) )。当我尝试将未跟踪的实例附加到上下文中时,EF 仅识别对根对象上的简单值类型的更改。

有谁知道这种情况的优雅解决方案?我正在寻找一种通过使用通用存储库来做到这一点的方法,并且避免必须遍历实例的整个对象树来管理每个对象的“附加/分离”状态。我考虑过可能使用 ValueInjecter 或 AutoMapper 在“旧”状态的完全水合和跟踪实例上运行更改,以便上下文获取更改。另外,Nhibernate 将如何处理这种情况?

提前感谢您的意见!

更新(2012 年 7 月 31 日): 我更新了代码以处理通用类型的键,以及 EF 代理的一些键入问题。在处理 IEntity 类型时还添加了一些辅助扩展。这个实现并不完美,但它非常实用。

更新(2012 年 3 月 13 日): 我添加了一个功能请求,以便在 EF 中进行更清洁的合并。该请求位于此处: http ://data.uservoice.com/forums/72025-ado-net-entity-framework-ef-feature-suggestions/suggestions/2679160-better-merging-change-tracking

更新(2012 年 3 月 12 日): 我在下面发布了我的解决方案。它使用FubuCoreValueInjecter,并要求使用两个接口之一标记实体IEntityIRecursiveEntity用于递归类。该解决方案将处理递归的、自链接的实体。

此外,我正在引用一个通用存储库 (Repository),它允许我获取对 EF 公开的 IDbSet 的引用。这可以用任何其他通用或特定存储库代替。最后,IEntity 接口使用 int? id,但是您可以根据需要定义它(Guid/Guid?)。该解决方案本身并不像我想要的那样优雅,但是当位于物理 WCF 服务边界之后时,它允许更优雅的数据访问代码。

0 投票
2 回答
1078 浏览

entity-framework-migrations - EF 4.3.1 - 代码优先自动迁移 - 如何指定列宽

我正在尝试查找与 DbMigration 和 ColumnModel 相关的示例或文档。我只是想在 DBMigration Up 方法中指定字符串属性的宽度,例如

将创建 nvarchar(max) - 例如,我想指定 maxlength(20) 。这是与 EntityTypeConfiguration 集成还是我必须手动添加

MSDN 帮助没有给出任何示例,ef4 博客上的演练仅涵盖基础知识

0 投票
2 回答
8970 浏览

entity-framework - 实体框架代码优先 - 无法在对象“dbo.T_CRProviders”中插入重复键

我有一些紧急问题,我无法通过网络找到答案。

我正在使用 CodeFirst EF 4.3.1,但出现错误: Violation of PRIMARY KEY constraint 'PK_T_CRProviders'. Cannot insert duplicate key in object 'dbo.T_CRProviders'.

我的代码是:

楷模:

数据库上下文:

表 T_CRProviders 如下所示:Enum (PK), Name

表 T_CRSupportedResources 如下所示:SupportedResourceId (PK), Provider_Enum (FK).

在数据库表 T_CRProviders 中,我已经有一个具有以下值的提供程序:

现在我的 main() 调用了 AddSupportedResource 方法。此方法向表 T_CRSupportedResources 添加一个新的 CRSupportedResource,它引用提供者 0 (PE_Abcd)。该方法如下所示:

我希望这个方法不会改变表 T_CRProviders,并向表 T_CRSupportedResources 添加一个新行,如下所示:

相反,在 SaveChanges 时,Entity 框架还尝试将 Provider 添加到 T_CRProviders 表中,并且由于这样的提供程序已经存在,它会引发以下异常:

我的问题:

如何指示 EF 在更新表T_CRProviders时不要更新表T_CRSupportedResources

顺便说一句,在 SQL Server 中,我看到该表T_CRSupportedResources有一个名为的外键FK_RW_TCRSupportedCloudResources_RW_TCRCloudProviders_Provider_Enum,其更新规则的值为No Action.

0 投票
0 回答
452 浏览

sql - 如何使用 DbDatabase.SqlQuery() 执行行 sp

我正在使用Entity Framework 4.3.1 code-first。有什么方法可以执行带有参数的存储过程并将其结果值作为标量获取?我在DbContext中找到了这个方法:

但我不知道如何使用它。感谢您的任何建议。

0 投票
3 回答
58706 浏览

code-first - 如何在 Entity Framework 4.3.1 中禁用迁移?

有没有办法在 Entity Framework 4.3.1 中禁用迁移?我从项目中删除了迁移文件夹和数据库中生成的表,但它不起作用!如何删除迁移?

0 投票
1 回答
865 浏览

linq - Entity Framework 4.3 - 预加载的多态查询

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

我试图找出谁来编写一个 Linq 查询来加载所有父母并急切地加载对所有 Child2 的依赖。这甚至可能吗?我已经尝试了我能想到的所有 Linq 语句组合,但都没有成功。