问题标签 [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 回答
1611 浏览

c# - 在实体框架中为多对多关系插入新项目时出现 System.NullReferenceException

为多对多关系添加项目时,我收到此错误

gEchoLu.dll 中出现“System.NullReferenceException”类型的异常,但未在用户代码中处理

没有进一步的细节。

以下是引发异常的代码:

在上面的代码中,当我调试它时,我看到没有一个实例 (selectedWallselectedPerson) 为空。以下是相关类的相关部分以及它们之间的关系:

流畅的api代码:

有谁知道我的逻辑和代码有什么问题?

0 投票
1 回答
56 浏览

.net - 从数据库中的多对多映射到域中的一对多

我在实体框架中有一个映射挑战。

在数据库中,我在两个表和一个中间表之间有一个多对多的关系,两者的 PK 如下所示:

多对多与从属中间表

我需要将此关系映射到一对多域实体关系,如下所示:

一对多实体关系

如何使用 Fluent API 映射它?

0 投票
1 回答
9215 浏览

c# - 实体框架代码优先:循环或多个级联路径

我有一个 Booking 类,它有一个预订联系人 (a Person) 和一组导航属性 ( ) People,它们通过连接表链接到. 如何生成为预订联系关系启用了级联删除的表?当我将其排除在流畅的 API 代码之外(启用级联删除的默认设置)时,我从迁移中收到以下错误消息:BookingsPersonBooking

在表“BookingPeople”上引入 FOREIGN KEY 约束“FK_dbo.BookingPeople_dbo.People_PersonID”可能会导致循环或多个级联路径。指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。

无法创建约束或索引。请参阅以前的错误。

0 投票
1 回答
1415 浏览

c# - 实体框架中基本实体的流畅配置

我有以下 BaseEntity

我所有的其他实体都来自它。现在我想使用流畅的配置而不是 DataAnnotations。我真的必须在每个DbModelBuilder配置中配置两个字符串属性的 MaxLength 吗?

0 投票
0 回答
133 浏览

c# - 两种不同的方法在 Fluent API Code First 中生成相同的结果(WithOptional vs WithRequiredPrincipal)

我正在阅读来自 msdn的使用 Fluent API 文章配置关系。

但我被困在一个地方。

这些名称有两个部分:

  • 配置必需到可选的关系(一对零或一)
  • 配置两端都需要的关系(一对一)

这是代码:

这两个生成相同的CREATE TABLE查询,没有任何区别。

但是,当然必须有一些我看不到的差异。

WithOptional和 和有什么不一样WithRequiredPrincipal?我什么时候应该使用哪一个?

谢谢。

0 投票
1 回答
26113 浏览

c# - 在实体框架中将对象类型属性映射到 varbinary(MAX)

我有一种情况,我有一个具有 type 属性的类型object,例如。

这种类型必须是:

  1. 使用保存Entity Framework到数据库中,作为byte[](我已经计算出序列化逻辑)
  2. 通过WCF传输(我将使用KnownType属性)

如何映射我的object属性以确保将其转换为字节数组进行存储?

注意:该object属性将是一个值类型(非复杂)

我想创建一个单独的类型来保存到数据库,例如:

如何在仍然能够定义关系映射的同时在类型之间进行转换/翻译?

这是否涉及对储蓄的某种拦截?

我能想到的最好的解决方案就是简单地将序列化数据存储在数据库中。

如果property covariance在 C# 中有某种形式,也许这会更容易。据我所知,它不存在。如果有我可以使用的优雅替代方案,我将不胜感激您的洞察力。

0 投票
0 回答
14 浏览

entity-framework - 更改 EF 中存在的列,工程逆向

我使用工程逆向在 EF 中有一个名为“名称”的列,我需要将 HasMaxLength 50 更改为 HasMaxLength 100。

我确实改变了

但不起作用,我如何将列名 50 更新为 100。

谢谢

0 投票
1 回答
73 浏览

asp.net - 为什么在实体框架代码第一个fluent api中使用Single()时Include()不可用

我想知道为什么在 Single() 之后不能在急切加载中使用 Include()。例如,在以下代码段中,Include 不可用:

但是,如果我在 Include() 之后有 Single(),它会起作用:

这样会返回很多不必要的相关数据。以下是我最终使用的方法:

这是唯一的解决方案吗?

0 投票
3 回答
10262 浏览

c# - 实体框架中的可选一对多关系

我在获得可选的一对多关系时遇到问题。

我的模型是:

我想为 a 分配零或DepartmentPerson。分配后,Person应显示在 的Members-List 中Department

我正在Person使用 Fluent API 进行配置,如下所示:

Department还通过配置而不是尝试了另一种方式Person

然而,两种方式我都得到了例外:

无法确定“人员”和“部门”类型之间关联的主要结束。此关联的主体端必须使用关系流式 API 或数据注释显式配置。

当同时配置两者时,我得到:

在“人员”类型上声明的导航属性“部门”已配置有冲突的多重性。

使用与另一种实体类型相同的配置是可行的Person,但是该实体类型引用自身。

如何正确配置这种关系?

0 投票
1 回答
4375 浏览

asp.net-mvc - 如何创建查找表并定义关系

正如您在下面看到的,有一个枚举值的查找表,我想在表的枚举值和查找表的LookupKey列(而不是查找表的 ID 列)之间创建关系。

查找表:


主表:

但是,当在DataAnnotations - InverseProperty 属性上使用 PK-FK 关系和 InverseProperty 时,关系是使用 Lookup 表的 ID 列创建的,我无法与 LookupKey 列建立关系。你能举例说明如何实现这一目标吗?