问题标签 [ef-core-2.2]

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 投票
2 回答
1191 浏览

c# - 缺少列的 Entity Framework Core 默认值

我有一个 sqlite 数据库,它有一些表和列,如下所示:

我的项目中的对象如下所示:

这可能会发生,因为我的程序需要处理不同版本的数据库。EF Core 现在尝试访问Additional数据库的字段,但返回找不到该字段的错误。(预期行为)

现在我的问题是,是否有办法忽略此错误并返回属性的默认值?

我可以通过使属性为空来绕过错误。但我不想.HasValue()在访问之前检查每个属性。因为真正的数据库在表中有 50+ 列。

0 投票
0 回答
142 浏览

entity-framework-core - 经典导航属性与聚合中的自有类型

发布后EF Core 2.2,现在可以同时拥有拥有类型的单一值和集合值。

与经典导航属性相比,拥有类型始终包含在实体中,因此拥有类型看起来像是描述聚合形状的一种自然方式。

是否有任何与 DDD 相关的用例,其中经典导航属性仍然​​更好?

更新 1

在 2.2 之前,我能够调用modelBuilder.Entity<OwnedType>和配置备用密钥。
现在2.2我开始在迁移过程中遇到错误:primary key is not defined for the entity. 但是,在方法中ReferenceOwnershipBuilder作为参数传递给buildActionlambda 的类OwnsOne不包含HasAlternateKey. 这是目前已知的限制

更新 2
当前拥有的类型不支持继承。这对于某些用例可能很关键。

0 投票
1 回答
163 浏览

entity-framework-core - 如何调试包管理器控制台执行的 ef 核心代码?

我需要调试PM> add-migration <name>你是怎么做的?

背景:它会引发以下错误。我要找谁的原因

0 投票
0 回答
540 浏览

asp.net-core - 递归地从具有 ef-core 的自引用多对多对象中获取所有子对象

我在 Stackoverflow 上的第一篇文章。所以如果我在这里不明白什么,请提前道歉:)

我有一个名为 ElementEntity 的抽象类。在这个类中,我有 2 个多对多关系,ChildRelations 和 ParentRelations。

我需要一个包含所有孩子和孙辈等的 id 的列表。形成一个特定的 ElementEntity。

我们不知道这棵树有多深,例如:Context.Hospitals().Include(b => b.ChildRelations).ThenInclude(c => c.child).ThenInclude etc.. 不是一个选项。( Hospital 是派生的 ElementEntity )

什么是最好的(最便宜的)方法?

作为指示,某个元素可能有数十万个后代对象。

可能的修复:

酒店现在包括儿童、孙子、曾孙等等。等等。

0 投票
1 回答
922 浏览

entity-framework - 如何使用空间数据使用 EF Core 2.2 进行迁移?

我正在尝试在 Entity Framework Core 2.2 中进行迁移,但我遇到了一些奇怪的错误。它应该可以工作,因为文档没有说明任何关于映射代码的内容。

这个命令:

dotnet ef 迁移添加 InitialCreate

导致此错误:

属性“Point.Boundary”属于接口类型(“IGeometry”)。如果它是导航属性,则通过将其转换为映射实体类型手动配置此属性的关系,否则使用“OnModelCreating”中的 NotMappedAttribute 或“EntityTypeBuilder.Ignore”忽略该属性。

我不明白。我有一个实体、一个上下文和所有必需的依赖项,包括 EF Core 2.2 。我该如何解决?

项目文件:

模型文件

上下文文件

控制台: 在此处输入图像描述

0 投票
1 回答
2929 浏览

c# - 'System.Nullable`1[System.Int32]' 类型的表达式不能用于'System.Int32' 类型的构造函数参数\r\n参数名称: arguments[0]

我正在执行下面的代码,EFCore 抛出

类型的表达式System.Nullable'1[System.Int32]不能用于类型的构造函数参数System.Int32'\r\nParameter name: arguments[0]

Person 要么有配置文件,要么没有配置文件,因此 Person 上的 Profile 属性是可选的。

0 投票
1 回答
204 浏览

c# - 是否可以在单独的类中移动层次结构的流畅配置?

我有一个层次结构,我想在一个类中配置它。可能吗?

目前我有接口N的实现IEntityTypeConfiguration<>——层次结构中的每个实体一个。

0 投票
1 回答
475 浏览

c# - 禁用导航属性 ef-core2.2 的命名约定

我试图在我的域对象中使用身份类,但是当我想为创建数据库创建迁移时,ef core 2.2 告诉我:

System.Reflection.TargetInvocationException:调用的目标已引发异常。---> System.InvalidOperationException:“仓库”不能用作实体类型“存在”的属性,因为它被配置为导航。

我的 dbcontext 是

我的存在课是

和我的warehouseId 类

我认为问题是我使用“entityId”模式来命名我的身份类,所以我想知道是否存在某种方式告诉 ef core“不要尝试在此处使用导航属性对流”

0 投票
1 回答
109 浏览

sql-server - Microsoft SQL Server 外键依赖项使用 sp_MSdependencies 显示,但未在 sys.foreign_keys 中列出

我有一个表,当我单击查看依赖项时,它显示的相关表比运行以下 T-SQL 时少

三个不同的表存在三个依赖项,它们不会显示在 GUI 中。这对我来说真的不是问题,但 EFCorePowerTools 也没有映射这些依赖项。所以我的问题是 - 有谁知道当您右键单击并选择查看依赖项时 Microsoft SSMS 工具使用什么来直观地显示依赖项?我需要弄清楚我的一些关系与其他关系有何不同。我以同样的方式制作它们,并尝试删除并重新添加有问题的那些。重新创建它们没有任何区别,它们仍然没有出现。任何帮助表示赞赏。

更新感谢 EFCorePowerTools 的某个人,我了解到 Entity Framework Core 正在使用 sys.foreign_keys 进行定义。当我查询该表时,我看不到任何有用的信息。

桂的形象:

SSMS 依赖项屏幕

图像EXEC sp_MSdependencies N'Item.Item', null, 1315327

在此处输入图像描述

0 投票
0 回答
28 浏览

sql-server - SQL Server:FK 关系为子显示,但不为父显示

此屏幕截图显示有一个 FK fromPurchaseOrderDetailHistoryItem

PurchaseOrderDetailHistory FK 到项目

Item不显示PurchaseOrderDetailHistory对它有依赖性。(PurchaseOrderDetail是一个不同的表 - 这是工作):

项目没有对 PurchaseOrderDetailHistory 的 FK 引用

Gui 没有显示它不会有什么大不了的,但 EF Core 也没有看到这种关系。这是解释正在发生的事情的最简单方法。我需要弄清楚如何解决这个问题。