问题标签 [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.
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, IEnumerable
1 xmlReaders, IList
System.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(操作命令)
代码
代码相当广泛。这些是最后改变的类。
配置
entity-framework - 使用实体框架迁移更改约束名称
我已经使用 EF Codefirst(在 MVC4 应用程序中)构建了一个数据库。
从那以后,我了解到,将访问此数据库的外部工具对列和约束具有名称长度限制。
- 列名必须 <=20 个字符
- 约束名称必须 <=10 个字符
因此,我需要更改生成的数据库约束的名称。(我的列名都没有超出限制。)
我可以在不破坏的情况下实现这一目标吗?
迁移框架是否提供了我进行此类操作所需的工具?
c# - 如何创建具有复合键的表,其中每个成员都是其他表的外键成员
我正在尝试首先在 MVC 项目上使用注释(第一次)编写代码。
我创建了以下 POCO。
我认为我在这里的意图是相当明显的。我有客户。这些客户有车辆。我想创建一个表 CustomerAppointments,其中安排了一个客户和其中一个客户车辆进行服务。
作为记录,这不是整个模型,并且出于问题的目的进行了简化。
我正在使用 MvcScaffolding 构建 EF 项目和视图。
一切都编译但是当我尝试导航到客户页面(实际上是一个没有提到引用客户的类)时,我收到以下错误......
我尝试了不同的注释,甚至尝试使用流利的 API 与这样的东西......
但我无法让它工作。我已经阅读了可以在 google 和 SO 上找到的所有示例,但无济于事。
PS ...如果这只能与注释一起使用,那将是我的偏好。
c# - 使用 Entity Framework Fluent API 的一对一可选关系
我们希望使用 Entity Framework Code First 来使用一对一的可选关系。我们有两个实体。
PIIUser
可能有,LoyaltyUserDetail
但LoyaltyUserDetail
必须有PIIUser
。我们尝试了这些流畅的方法技术。
这种方法没有在表中创建LoyaltyUserDetailId
外键。PIIUsers
之后我们尝试了以下代码。
但是这次 EF 没有在这两个表中创建任何外键。
你对这个问题有什么想法吗?我们如何使用实体框架fluent api创建一对一的可选关系?
c# - Fluent 映射继承
我有一个问题,我不知道最佳解决方案。希望这里有人可以提供帮助=)
我要解决的问题:我们必须在系统、人员和组织中定义用户类型。我想为两者共享一个登录表(即用户可能不知道他们是哪种类型的用户,它们只与用户名和密码有关)。所以我为用户名和密码创建了一个登录表。但我需要知道登录连接到谁,所以我需要对个人或组织的引用。
考虑以下类(简化):
人员配置设置如下:
首先,这是行不通的。我收到一个异常说“System.Data.EntityCommandCompilationException:System.Data.EntityCommandCompilationException:准备命令定义时发生错误。有关详细信息,请参阅内部异常。---> System.Collections.Generic.KeyNotFoundException:给定的键是字典中没有……”所以我的第一个问题是为什么这不起作用?我的第二个问题是:哪种策略最适合这种继承?TPT、TPH 还是 TPC?
c# - EF6.X 中的 EntityFramework Code First FluentAPI DefaultValue
如何使用 EntityFramework Code First FluentAPI 为 bool 属性设置默认值?
就像是:
c# - EF6 CF 中的外键问题
请原谅我是 EF 的菜鸟,首先是代码。我的问题是我不想在模型中添加外键属性,根据 MSDN,使用 fluent API 没有问题,但是我无法弄清楚我目前情况的正确用途。看起来真的很简单:
我尝试了许多不同的流畅组合,但没有一个能正常工作。我得到的最常见的例外是:
System.Data.Entity.Infrastructure.DbUpdateException:保存不为其关系公开外键属性的实体时发生错误。EntityEntries 属性将返回 null,因为无法将单个实体标识为异常源。通过在实体类型中公开外键属性,可以更轻松地在保存时处理异常。
有人可以帮我找出创建模型时需要进行的正确流畅调用吗?
c# - 使用流畅的 API 设置唯一约束?
我正在尝试使用 Code First 和EntityTypeConfiguration
使用流利的 API 构建一个 EF 实体。创建主键很容易,但使用唯一约束并非如此。我看到旧帖子建议为此执行本机 SQL 命令,但这似乎违背了目的。EF6 有可能吗?
c# - 具有两个外键的导航属性,其中一个是硬编码的
我们有一个表RequestApproval
,它使用两个字段来确定唯一性:RequestType
和RequestDetailID
。每种类型的请求都有自己的详细信息表,其主键映射到RequestDetailID
批准表。没有什么可以防止两个请求详细信息表具有重叠的 ID。这就是为什么该RequestType
字段是唯一约束的一部分。这是为了避免为每种类型的请求提供单独的批准表。
我们正在尝试将请求详细信息表配置为对其批准具有导航属性。最初,我们这样配置导航属性:
不幸的是,这获取了所有请求类型的批准。似乎没有办法告诉 Entity Framework 将结果限制为仅具有特定RequestType
.
我可以告诉 EF 按请求类型另外过滤吗?即使我必须修改 LINQ 查询以显式过滤,那也没关系。不幸的是,似乎没有办法增加 a.Include
以过滤掉结果。
c# - How to get "fixedLength: true" to show up in a migration script using annotations instead of fluent API
我正在尝试将一些流畅的 API 代码转换为数据注释代码,但是我坚持了一件事。StringPropertyConfiguration.IsFixedLength()
翻译成什么?
这是我的一个固定长度字段的示例。
我试着把它翻译成
但是第一个示例在迁移脚本中产生以下内容
第二个例子产生
我需要做什么fixedLength: true
才能自动显示在迁移脚本中?