问题标签 [ef-fluent-api]

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

c# - 添加迁移错误:指定的架构无效

我无法创建新的迁移Add-Migration Testing

包版本

Microsoft.AspNet.WebApi -> 5.0.0-beta1-130515
Microsoft.AspNet.WebApi.Client -> 5.0.0-beta1-130515
Microsoft.AspNet.WebApi.Core -> 5.0.0-beta1-130515
Microsoft.AspNet。 WebApi.OData -> 5.0.0-beta1-130515
Microsoft.AspNet.WebApi.Web... -> 5.0.0-beta1-130515

错误

当我尝试创建新迁移时,会发生以下错误:

PM> 添加迁移测试 System.Data.Entity.Core.MappingException:指定的架构无效。错误:(0,0):错误 2025:映射架构的 XML 架构验证失败。架构错误信息:未声明“ http://schemas.microsoft.com/ado/2012/10/edm/migrations:IsSystem ”属性。(0,0):错误 2025:映射架构的 XML 架构验证失败. 架构错误信息:未声明“ http://schemas.microsoft.com/ado/2012/10/edm/migrations:IsSystem ”属性。(0,0):错误 2025:映射架构的 XML 架构验证失败. 架构错误信息:' http: //schemas.microsoft.com/ado/2012/10/edm/migrations :IsSystem' 属性未声明.. (0,0):错误 2025:映射架构的 XML 架构验证失败。架构错误信息:未声明“ http://schemas.microsoft.com/ado/2012/10/edm/migrations:IsSystem ”属性。(0,0):错误 2025:映射架构的 XML 架构验证失败. 架构错误信息:未声明“ http://schemas.microsoft.com/ado/2012/10/edm/migrations:IsSystem ”属性。(0,0):错误 2025:映射架构的 XML 架构验证失败. 架构错误信息:未声明“ http://schemas.microsoft.com/ado/2012/10/edm/migrations:IsSystem ”属性。(0,0):错误 2025:映射架构的 XML 架构验证失败. 架构错误信息:'http://schemas.microsoft.com/ado/2012/10/edm/migrations:IsSystem '属性未声明..在 System.Data.Entity.Core.Mapping.StorageMappingItemCollection.Init(EdmItemCollection edmCollection, StoreItemCollection storeCollection, IEnumerable1 xmlReaders, IListSystem.Data.Entity.Utilities.XDocumentExtensions.GetStorageMappingItemCollection(XDocument 模型,DbProviderInfo& providerInfo) 在 System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.Diff(XDocument sourceModel, XDocument targetModel, ModificationCommandTreeGenerator modifyCommandTreeGenerator, MigrationSqlGenerator migrationSqlGenerator) 在 System.Data.Entity.Migrations.DbMigrator.Scaffold(String migrationName, String namespace, Boolean ignoreChanges ) 在 System.Data.Entity 的 System.Data.Entity.Migrations.Design.MigrationScaffolder.Scaffold(String migrationName, Boolean ignoreChanges)。System.Data.Entity.Migrations.Design.ToolingFacade.ScaffoldRunner.Run() 在 System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate) 在 System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate) 的 Migrations.Design.ToolingFacade.ScaffoldRunner.Scaffold(MigrationScaffolder 脚手架) )
在 System.Data.Entity.Migrations.Design.ToolingFacade.Run(BaseRunner runner) 在 System.Data.Entity.Migrations.Design.ToolingFacade.Scaffold(String migrationName, String language, String rootNamespace, Boolean ignoreChanges) 在 System.Data。 Entity.Migrations.AddMigrationCommand.Execute(String name, Boolean force, Boolean ignoreChanges) 在 System.Data.Entity.Migrations.AddMigrationCommand.<>c_ DisplayClass2.<.ctor>b _0() 在 System.Data.Entity.Migrations。 MigrationsDomainCommand.Execute(操作命令)

代码

代码相当广泛。这些是最后改变的类。

配置

发表在aspnetwebstack 问题上

0 投票
1 回答
1076 浏览

entity-framework - 使用实体框架迁移更改约束名称

我已经使用 EF Codefirst(在 MVC4 应用程序中)构建了一个数据库。

从那以后,我了解到,将访问此数据库的外部工具对列和约束具有名称长度限制。

  1. 列名必须 <=20 个字符
  2. 约束名称必须 <=10 个字符

因此,我需要更改生成的数据库约束的名称。(我的列名都没有超出限制。)

我可以在不破坏的情况下实现这一目标吗?
迁移框架是否提供了我进行此类操作所需的工具?

0 投票
3 回答
1447 浏览

c# - 如何创建具有复合键的表,其中每个成员都是其他表的外键成员

我正在尝试首先在 MVC 项目上使用注释(第一次)编写代码。

我创建了以下 POCO。

我认为我在这里的意图是相当明显的。我有客户。这些客户有车辆。我想创建一个表 CustomerAppointments,其中安排了一个客户和其中一个客户车辆进行服务。

作为记录,这不是整个模型,并且出于问题的目的进行了简化。

我正在使用 MvcScaffolding 构建 EF 项目和视图。

一切都编译但是当我尝试导航到客户页面(实际上是一个没有提到引用客户的类)时,我收到以下错误......

我尝试了不同的注释,甚至尝试使用流利的 API 与这样的东西......

但我无法让它工作。我已经阅读了可以在 google 和 SO 上找到的所有示例,但无济于事。

PS ...如果这只能与注释一起使用,那将是我的偏好。

0 投票
7 回答
96706 浏览

c# - 使用 Entity Framework Fluent API 的一对一可选关系

我们希望使用 Entity Framework Code First 来使用一对一的可选关系。我们有两个实体。

PIIUser可能有,LoyaltyUserDetailLoyaltyUserDetail必须有PIIUser。我们尝试了这些流畅的方法技术。

这种方法没有在表中创建LoyaltyUserDetailId外键。PIIUsers

之后我们尝试了以下代码。

但是这次 EF 没有在这两个表中创建任何外键。

你对这个问题有什么想法吗?我们如何使用实体框架fluent api创建一对一的可选关系?

0 投票
2 回答
1761 浏览

c# - Fluent 映射继承

我有一个问题,我不知道最佳解决方案。希望这里有人可以提供帮助=)

我要解决的问题:我们必须在系统、人员和组织中定义用户类型。我想为两者共享一个登录表(即用户可能不知道他们是哪种类型的用户,它们只与用户名和密码有关)。所以我为用户名和密码创建了一个登录表。但我需要知道登录连接到谁,所以我需要对个人或组织的引用。

考虑以下类(简化):

人员配置设置如下:

首先,这是行不通的。我收到一个异常说“System.Data.EntityCommandCompilationException:System.Data.EntityCommandCompilationException:准备命令定义时发生错误。有关详细信息,请参阅内部异常。---> System.Collections.Generic.KeyNotFoundException:给定的键是字典中没有……”所以我的第一个问题是为什么这不起作用?我的第二个问题是:哪种策略最适合这种继承?TPT、TPH 还是 TPC?

0 投票
4 回答
28557 浏览

c# - EF6.X 中的 EntityFramework Code First FluentAPI DefaultValue

如何使用 EntityFramework Code First FluentAPI 为 bool 属性设置默认值?

就像是:

0 投票
1 回答
2849 浏览

c# - EF6 CF 中的外键问题

请原谅我是 EF 的菜鸟,首先是代码。我的问题是我不想在模型中添加外键属性,根据 MSDN,使用 fluent API 没有问题,但是我无法弄清楚我目前情况的正确用途。看起来真的很简单:

我尝试了许多不同的流畅组合,但没有一个能正常工作。我得到的最常见的例外是:

System.Data.Entity.Infrastructure.DbUpdateException:保存不为其关系公开外键属性的实体时发生错误。EntityEntries 属性将返回 null,因为无法将单个实体标识为异常源。通过在实体类型中公开外键属性,可以更轻松地在保存时处理异常。

有人可以帮我找出创建模型时需要进行的正确流畅调用吗?

0 投票
6 回答
109196 浏览

c# - 使用流畅的 API 设置唯一约束?

我正在尝试使用 Code First 和EntityTypeConfiguration使用流利的 API 构建一个 EF 实体。创建主键很容易,但使用唯一约束并非如此。我看到旧帖子建议为此执行本机 SQL 命令,但这似乎违背了目的。EF6 有可能吗?

0 投票
0 回答
480 浏览

c# - 具有两个外键的导航属性,其中一个是硬编码的

我们有一个表RequestApproval,它使用两个字段来确定唯一性:RequestTypeRequestDetailID。每种类型的请求都有自己的详细信息表,其主键映射到RequestDetailID批准表。没有什么可以防止两个请求详细信息表具有重叠的 ID。这就是为什么该RequestType字段是唯一约束的一部分。这是为了避免为每种类型的请求提供单独的批准表。

我们正在尝试将请求详细信息表配置为对其批准具有导航属性。最初,我们这样配置导航属性:

不幸的是,这获取了所有请求类型的批准。似乎没有办法告诉 Entity Framework 将结果限制为仅具有特定RequestType.

我可以告诉 EF 按请求类型另外过滤吗?即使我必须修改 LINQ 查询以显式过滤,那也没关系。不幸的是,似乎没有办法增加 a.Include以过滤掉结果。

0 投票
0 回答
144 浏览

c# - How to get "fixedLength: true" to show up in a migration script using annotations instead of fluent API

我正在尝试将一些流畅的 API 代码转换为数据注释代码,但是我坚持了一件事。StringPropertyConfiguration.IsFixedLength()翻译成什么?

这是我的一个固定长度字段的示例。

我试着把它翻译成

但是第一个示例在迁移脚本中产生以下内容

第二个例子产生

我需要做什么fixedLength: true才能自动显示在迁移脚本中?