问题标签 [ef-code-first-mapping]

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

c# - EF代码优先,如何在EF中映射双向的一对一或零关系?

我有两个类一个用户和一个图像表:

用户和图像都可以在没有其他实体的情况下单独存在,但如果它们确实存在关系,则用户只能与一个图像相关联,并且如果它们不为空,则图像只能具有用户。我如何映射这个?目前我有:

并且 ImageMapping 上没有任何内容,因为从其他答案中指出不要两次映射关系,否则它会吓坏了。但是,迁移文件最终会在 Image 表上生成一个额外的 User_Id 属性,然后:

这是错误的。我怎样才能正确地进行映射?

编辑:我还发现了这个http://stackoverflow.com/questions/21082085/entity-framework-optional-1-to-1-relation-on-both-ends 并尝试了声称的原始问题中显示的内容工作,但它没有,仍然创建 User_Id。

0 投票
0 回答
600 浏览

entity-framework - “欺骗” EF 核心以使用唯一键而不是主键

我有一个数据库在工作,它有没有主键的表(Sql Server)。它使用不同的架构。它对每个表都有一个唯一的(有时是复合的)键。我无法以任何方式修改数据库。它是供应商的数据库。

可以欺骗 EF 认为唯一键是主键吗?插入或更新记录会有任何问题吗?

谢谢,

瑞克

0 投票
2 回答
61 浏览

entity-framework - 无法设置 2 个数据库模型之间的关系

我遇到了这个问题:

我有这样的应用程序用户类

我得到了另一个模型:

当我尝试: 添加迁移

PM 控制台抛出:

无法确定类型“x.Models.ApplicationUser”和“x.Models.Area”之间关联的主体端。此关联的主体端必须使用关系流式 API 或数据注释显式配置。

我一直在尝试一整天,但我找不到告诉实体框架识别关系的方法。

有任何想法吗?

谢谢阅读

0 投票
1 回答
108 浏览

xaf - 我可以先使用非抽象基类的 EF 代码 TPH 吗?

在 SQL Server 中有一个表定义为

这恰好是 Dev Express XAF 报告表。

在我的数据上下文中,我有

我希望能够将 DataTypeName 字段视为鉴别器列,而不会干扰 ReportDataV2 在我的代码中已经工作的方式。

我尝试了以下操作,但 Entity Framework 检测到数据结构已更改,如果我生成迁移,我看到它正在尝试重新创建 ReportDataV2 表。

0 投票
2 回答
57 浏览

entity-framework - EF:具有导航属性的数据模型中 1:0..1 关系的验证错误

我有一些预订和取消的简单数据模型:

这是测试的代码。首先创建预订,然后取消预订。当取消记录被保存到数据库中时,会抛出一个异常“需要 ReservationCreation 字段”。如何仅根据预订 ID 创建取消记录,同时定义导航属性?

我没有找到任何方法来修改数据模型注释。如果我从 ReservationCreation 属性中删除 [Required],那么我将无法创建迁移(或使用该数据模型连接到数据库)。

0 投票
0 回答
705 浏览

asp.net-mvc - LINQ:无效的列名“* Id”

我在这些电话中遇到了这些错误。我一定做错了什么:-)但是在哪里?

在我的控制器上,我有这个:

错误:

代码:

所有的想法是我有一个标记有一些类别的对象,并且想要提取该对象具有的所有类别。在这种情况下,FAQ 和 Forum 以及其他可能会有一些分类。可能有更好的方法?也接受建议。

谢谢

0 投票
0 回答
57 浏览

c# - 定义条件关系

是否有任何方法可以在 EF6 代码优先(或 EDMX,就此而言)配置条件导航。

我有一个实体类型,它将被我的多种其他类型引用。

附件属于人员或车辆。一个人或一辆车可能有许多附件。可能会有更多类型具有许多附件。

我知道我可以为每种类型的附件创建一个可为空的外键,或者为每种类型创建一个 1 - 0..1 - * 表,但我想将它们全部保存在一个表中,而不必添加更多列如果可能的话。

然后我想配置类似的关系......

是否有可能与此类似,或者我应该只实施其他解决方案之一?

0 投票
1 回答
1869 浏览

.net - asp.net core在两列上创建一个约束,其中一个是另一个实体

我有 2 个类(实体)豁免和期限,我想用豁免的 IdNumber 和期限的 Id 创建一个唯一索引

使用 Fluent API 我在 OnModelCreating 中添加了.HasIndex但出现错误

添加迁移时出现以下错误

我尝试添加c.Period.Id

收到以下错误

我只需要允许每个 IdNumber 每个 Period.Id 一个 Exemption。我如何在 EF Core 1.0 中做到这一点?

0 投票
1 回答
1473 浏览

.net - EF 代码首先从 Pascal Case Properties 迁移到小写列

在 Entity Framework 6 Code First 中,有没有办法(可能通过 Data Annotations 或 Fluent API)使 Migrations 生成的数据库具有小写的列名,即使我的模型类具有 Pascal Casing 属性?

即这个类:

应该映射到这个表(即迁移应该生成这个表):

甚至像这样的东西会很好:

PS我正在使用MySQL数据库...谢谢

0 投票
0 回答
159 浏览

c# - 如何从表值函数加载具有复杂类型的实体?

我有一个表值函数,它返回包含复杂类型的实体。我试图找出将此数据作为实体加载到我的代码优先应用程序中的最佳方法。

我尝试了Code First Functions项目,但它不支持具有复杂类型的实体

我也试过SqlQuery,例如,

但这显然也不支持复杂类型。我得到一个InvalidOperationException说,“只支持原始或枚举类型的属性。”

我的用例非常有限,因为这将是只读数据。我不需要更改跟踪甚至IQueryable实例之类的东西。我可以只使用一个我显示然后丢弃的实体。

我想我可以通过执行 SQL 来“手动”解决这个问题,将数据返回到 a 中DataTable,然后使用它来创建我的实体。但这显然是不可取的,原因有很多,尤其是它基本上完全放弃了实体框架。

有没有其他方法可以以更自动化的方式创建我的实体?

这是一个使用 Code First Functions 项目但失败的简单示例。