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

c# - 在继承的表中实现行级安全列

我正在使用具有代码优先方法的实体框架来生成数据库。我在 SQL Server 中引入了行级安全性。

我想创建 3 个表,所有常见的属性都在其中,ItemVersion并记录相关属性DocumentVersion并形成与FormVersion某某相关的事物。我应该TenantId在所有 3 个表中引入行级安全列。

当我生成数据库时,它不会创建TenantId子类 - 该列TenantId仅在ItemVersion表中创建。

我该如何处理这种情况?有什么解决方法或建议吗?

0 投票
2 回答
315 浏览

c# - 如何从实体框架中的数据库多对多映射中解决 Code First?

下面的代码片段显示了我的场景:

现在在OnModelCreating(DbModelBuilder modelBuilder) EF中生成如下代码

现在这很好将数据添加/插入UserRoleMapping到表中。但是如何

从 UserRoleMapping 表中获取/更新数据?

我尝试在create-code-first-many-to-many帖子之后解决这个问题,并提出第三类join entity

然后添加public virtual ICollection<UserRoleMappingModel> UserRoleMapping { get; set; }UserModelUserRoleModel

但是当我尝试使用下面的代码从数据库中获取值时

它抛出错误

"执行命令定义时出错。有关详细信息,请参阅内部异常。System.Data.SqlClient.SqlException (0x80131904): 对象名称 'dbo.UserRoleMappingModel' 无效。\r\n

即使我尝试了以下配置OnModelCreating,但没有按预期工作

0 投票
2 回答
202 浏览

c# - 如何使用代码优先正确初始化多对多关系

我正在尝试用来code-first为我的数据库建模。

我在这里试图映射的是and的0 -> *关系。UsersChallenges

例如,一个用户可以有 0 个或多个与他们相关的挑战。一个挑战可以有 0 个或多个与之关联的用户。

这是我正在使用的代码,问题是挑战表是使用UserAccount_ID属性生成的。

和不正确的属性:

在此处输入图像描述

我已经尝试将它添加到我的上下文类中,但它没有任何效果:

编辑

更新了标题和问题 - 关系不是零对多而是多对多。

0 投票
1 回答
633 浏览

asp.net-mvc - 如何在 ASP.NET MVC 和实体框架中以多对多关系将数据插入数据透视表

我有两个模型,MovieGenre

电影类:

流派类:

这是CineDBContext上下文类

我使用了代码优先的方法来生成数据库和表。由于存在多对多关系,因此在数据库中生成了三个表MoviesGenres并且GenreMovies.

内部控制器类:

但是如何填充GenreMovies数据透视表?

0 投票
1 回答
29 浏览

c# - 如何在 EF6 Code First 中提取一部分属性配置以重复使用多次?

要在 EF6 Code First 中映射列,我们使用以下代码,例如:

为了防止为所有电子邮件列(例如)多次写入“.HasColumnType("varchar").HasMaxLength(255)”,我想将其分解并定义一个我可以在每次需要时使用的电子邮件配置。我想这样做:

我怎样才能做到这一点 ?

谢谢你。

0 投票
1 回答
162 浏览

c# - 使用 ApplicationUserManager.CreateAsync 创建用户并设置导航属性

我正在使用 ASP.NET Identity 2.0 和 Entity Framework 以及 Code First 方法。当我创建一个实例ApplicationUserManager并调用该CreateAsync方法时,如果我的用户的属性都是原始类型,那么一切都很好:

但是,如果我有一个 Entity 类型的属性,然后尝试设置它,代码会尝试在相关表中为该实体创建一个新行并因此崩溃(因为这些行是唯一的):

我要做的就是在我的用户表中为这一行设置 UserStatusId 列;但我不知道该怎么做。相关代码如下所示:

0 投票
1 回答
1270 浏览

c# - Entity Framework 6:如何将数组元素映射到表列

[我很惊讶我没有找到一个现有问题来回答这个概念性问题。也许我只是没有搜索正确的关键字。]

考虑一个具有一些自身属性的实体类型“Singer”。接下来,考虑一个实体类型“Quartet”,其中正好有四个 Singer,分配给四重奏中的角色“Tenor”、“Lead”、“Baritone”和“Bass”。

首先对该代码建模的最简单方法是向 Quartet 实体类中添加四个 Singer 导航属性,其中包含该四重奏中四个歌手角色的名称。这将导致一个 Quartet 表和一个具有四行的 Singers 表,其中外键引用该 quartet,并且我们有一对四的关系。不可怕,这很有效,但它会导致以后程序中的一些尴尬。

有许多操作需要对四个歌手进行迭代并为每个歌手完成,或者需要对其中一个歌手进行操作的条件查询,这取决于一些外部枚举的值,该值指示要对哪个歌手进行操作.

理想情况下,我希望拥有一个固定大小为 4 的 Singer 数组,而不是四个单独的 Singer 导航属性,其中数组的元素直接对应于枚举值,并且我可以遍历数组或根据枚举直接转到特定元素。

但这似乎在 EF 和 SQL Server 中不能很好地建模。

我怎样才能在这里完成我所需要的?

0 投票
0 回答
274 浏览

c# - EF将列表属性映射到不同表中的单个列

我有以下情况:

我有一个表“产品”

然后我有另一个表 Product_Vendor 有

其中 Product_Id 是 Product.Id 的外键。现在在我的 Entity 类代码中,我希望 Product 实体有一个属性

其中包含与 Product_Vendor 中的 Product_id 对应的所有 Vendor_Id。问题是,Vendor_Id 是来自另一个数据库中的表的 Guid,因此它在技术上不是外键,只是一个没有约束的 uniqueidentifier 字段。

如何在我的 ProductEntity EntityConfiguration 中使用流利的 api 映射来映射它?我使用 C# 和 SQL。我希望这有点清楚,如果需要可以提供更多信息:-)

0 投票
1 回答
21 浏览

visual-studio-2013 - 我没有使用实体框架代码优先方法创建的表出现错误。错误是无效的对象名称“XXXX”

初始迁移代码低于我从未创建的位置,dbo.StudentEvent1但是当我使用此数据库运行我的 asp.net MVC 应用程序时出现错误。

0 投票
1 回答
40 浏览

mysql - 如何从 MySql EFCore 中的 2 个外键创建主键

我在从 2 个外键创建主键时遇到一些问题

模型示例:Element、Color、ElementToColor

ElementToColor 应该包含 2 个代表 Element 和 Color 关系的外键

但是当我尝试添加迁移时它失败了

ElementToColor 必须有主键

但是为那个映射表之王做主键是错误的,它会产生重复的数据

1,1,1

2,1,1

...

在这种情况下我该怎么办

我用:

应用:asp.net core 2.1 webApi

数据库:MySql

ORM:MySql EFCore