问题标签 [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 投票
2 回答
51 浏览

c# - 映射到模型

如何使用实体的代码优先方法将连接表数据映射到模型?当我获取聊天消息时,我想获取属于聊天消息的用户信息。我收到错误

无法将 linq.iqueryable 键入到 collections.generic.list

但我无法 ToList() 我的 iqueryable。

聊天消息模型

0 投票
1 回答
574 浏览

asp.net-web-api - 添加迁移在 Visual Studio 2017 中不起作用

我正在使用 EF 和 Visual Studio 2017 中的代码优先方法创建一个 Web API 应用程序。我尝试使用enable-migration,最初我没有工作,所以我安装了这些包。

安装这些软件包后,enable-migration对我有用,但是当我尝试使用Add-Migration FirstMigration命令添加迁移时,它会引发错误

在程序集“UserRegistration”中未找到 DbContext。确保您使用的是正确的程序集,并且该类型既不是抽象的也不是泛型的。

请帮助我如何在 Visual Studio 2017 中解决此问题。

在此处输入图像描述

PS:我还在DBbConnection我的web.config文件中定义了:

在此处输入图像描述

0 投票
3 回答
5355 浏览

c# - EF Core - 添加具有唯一索引的数据时出现重复键错误

我正在尝试使用 EF Core 将数据添加到数据库,但我无法克服重复键错误:Cannot insert duplicate key row in object 'dbo.Stocks' with unique index 'IX_Stocks_Name'. The duplicate key value is (stock1).

我有Stock一个与一对多关系的实体Transaction- 一个Stock可以与许多Transactions 相关联。

Stock仅当数据库中没有给定 ID时才会出现问题- 在这种情况下,我可以添加许多Transaction相同的 sStockID并且它可以工作:

下面我用它们IEntityTypeConfiguration的 s 添加了类的定义。

提前感谢您的任何提示。

Transaction班级:

TransactionConfiguration班级:

Stock班级:

StockConfiguration班级:

0 投票
1 回答
487 浏览

c# - 设置实体框架时的多重性冲突

这里有一个更复杂的问题

但我想我会简化它。

这是我的虚拟类(它基于的结构来自 NDC,所以我无法控制它):

我已经尝试了很多东西,所以希望这个简化版本可以帮助有人帮助我。

总的来说,我想搜索:

  • LeftHand.PropertyB 并查看 RightHand 的属性
  • 同样,我想搜索 RightHand.PropertyA 并查看 Left Hand 的属性

总而言之,我不关心链接器,只是它是将 LeftHand 链接到 RightHand。LeftHand 和 RightHand 是一对一的。

谢谢,我正在使用 VS2017、EF 6.2、Code First、SQL Server

我尝试了不同的注释,但一个常见的错误是:

Linker_LeftHand_Source::多重性在关系“Linker_LeftHand”中的角色“Linker_LeftHand_Source”中无效。因为从属角色属性不是关键属性,所以从属角色的多重性的上限必须是“*”。

Linker_RightHand_Source::多重性在关系“Linker_RightHand”中的角色“Linker_RightHand_Source”中无效。因为从属角色属性不是关键属性,所以从属角色的多重性的上限必须是“*”。

这里与其他多重性答案不同的是中间链接器表。

0 投票
2 回答
400 浏览

c# - 数据读取器不兼容。类型的成员“RoleId”在数据读取器中没有同名的对应列

存储过程有效并删除了我想要的内容,但删除后仍然出现此错误:

数据读取器与指定的“AMSIdentity.Models.RemoveRoleFromUserViewModel”不兼容。类型的成员“RoleId”在数据读取器中没有同名的对应列。

我需要在上面运行没有此错误的代码

此代码使用 ASP.NET MVC 5 和 EF6 代码优先方法;我尝试使用此代码,但删除后总是抛出此错误。

这是我使用的操作方法

这是我使用的视图模型:

这是存储过程代码:

我希望这段代码会删除特定用户的角色。

0 投票
0 回答
122 浏览

entity-framework - 在实体框架中使用多对多关系时如何仅加载 ID?

我有以下型号:

Store 包含 allItems和 all Groups,但 everyItem可能与一个或多个相关,Group并且 everyGroup可能与一个或多个相关Item

Item如何配置and之间的多对多关系Group以仅加载GroupIdsandItemIds而不加载对象本身?

0 投票
0 回答
49 浏览

c# - Entity Framework Fluent API - 映射多对多关系,并从中查询

在广泛阅读本主题后,我想实现自己的多对多关系。这是我的用例:

在此处输入图像描述

仅供参考:虽然 和之间没有 FK 关系Program,并且充当关系列ProviderProgram.ProvIDProvider.ProvID

在我的 DAL 中,我有以下模型:

在我的AppContext我将这些模型映射如下:

现在,我想选择.PatientOrganization

但是,这会产生 0 回报。此外,当我在执行期间运行分析器时,输出查询与我映射的内容并不接近。

我真的不确定我在这里做错了什么。

0 投票
1 回答
1139 浏览

entity-framework - EF Core删除一对一关系上的相关实体

我在 ef 核心上建立了一对一的关系。当我尝试删除Article 实体时,我需要级联MediPlan,因为它是one to one关系。当我删除Article时,MediaPlan不会被删除。

这里设置好了。

语境

要删除的代码

我是否也必须在MediaPlan实体上设置 FK?

谢谢!

0 投票
1 回答
427 浏览

c# - 如何通过映射表映射EF对象

我有两个数据库表——Customer_Values 和 Customer_Attributes……而且它……很笨。糟糕的。

Customer_Values 有类似的东西

Customer_Attributes 看起来像这样

我想将第一个表映射到这样的实体对象中......

但我完全不确定如何做到这一点。

我正在使用 EF 6,代码优先

0 投票
1 回答
106 浏览

c# - 将生成的大型方法重构为更小的方法?

使用 EF 6 和“数据库中的代码优先”,它会针对我们的大型(650 多个表)数据库生成一个 20k 行大约 688k 代码的“OnModelCreating”。这会导致 IIS 追加,因为它大于 32 位 256kb 堆栈限制。我认为没有任何方法可以让 EF 为每个类放置 Fluent API 模型绑定,这显然可以解决这个问题。

目前,为了解决这个问题,我必须制作更小的“OnModelCreatingX”方法并从“OnModelCreating”方法中调用这些方法——没错。

是否有任何重构工具可以采用一个巨大的方法并将该方法拆分为更小的方法?