外键冲突ef核心脚手架 - c#

无法将外键{'ClassExtId'}添加到实体类型'ClassInt'中,因为在实体类型'Instrument'上已经存在相同属性的外键,并且还以'ClassExt'上的键{'ClassExtId'}为目标。

假设我有从ClassInt继承的ClassFoo和ClassBar。他们每个人都有对同一列ClassExtId的引用。为什么实体框架核心支架(v3)抱怨?

参考方案

我的情况不同,但是当我尝试搭建现有的旧数据库时,我也遇到了相同的错误。我正在发布此答案,以防万一有人也遇到我同样的问题。

事实证明,在我的旧数据库中,某个表具有由以前的开发人员创建的许多重复的外键。您可以在您的SQL Server中进行检查(我使用SQL Server Developer Edition 2019)

在对象资源管理器中,右键单击将在
关系的外键端,然后单击“设计”。
该表在表设计器中打开。
从表设计器菜单中,单击关系。您将看到为该表定义的所有外键,在我的情况下是重复的applicationID。清理 :
外键冲突ef核心脚手架 - c#
转到表格>展开并转到键。删除那里的重复键:
外键冲突ef核心脚手架 - c#
运行您的dotnet ef dbcontext scaffold命令,祝您好运!

使用Entity Framework Core(2.1)调用标量函数的最佳实践 - c#

我经常需要从Web应用程序(ASP.NET Core / EF Core)中调用在SQL Server上定义的标量函数。由于这些函数只是简单的辅助函数,因此我也使用了许多辅助函数,因此我使用了通用模式来调用这些标量函数-借助EF Core 2.1可用的新查询类型。由于我是EF Core的新手,所以我的问题是这种模式是否会引起问题,并且/或者是否存在调用标量函…

使EF Core 2与仅具有吸气剂的属性一起使用,而没有支持字段 - c#

我的目标是使用以下代码使Entity Framework 2更好地发挥作用:public class Foo { public Guid Id { get; } // This should NOT change public string NotRequiredProperty {get; set;} public Foo(Guid id) => I…

如何在EF Core 2.2中进行原始SQL查询? - c#

我正在使用dotnet core 2.x应用程序。我们有一堆“代码优先”的实体,并且在DBContext中为每个实体都有一个DBSet。例:public class MyContext : DBContext { public MyContext(DBContextOptions<MyContext> options) : base (optio…

如何在命令行上更改连接字符串以在迁移到Entity Framework Core中的新数据库时更新数据库 - c#

首先在ASP.NET Core和EF Core代码中,我有一个多租户的webapp。创建新租户时,我想更改连接字符串,在其上添加迁移,然后更新。从命令行,添加迁移无法在租户上获得动态的连接字符串,因此在应用程序首次以新租户开始时,我没有有效的连接字符串来创建新数据库。有什么解决办法吗?谢谢 参考方案 您在找这个吗?编辑:这是为EF 6.1Update-Dat…

ASP.NET Core-在Singleton注入上存储库依赖项注入失败 - c#

我正在使用SoapCore为我的ASP.NET Core MVC应用程序创建Web服务。我正在使用Entity Framework Core和简单的存储库模式来获取我的数据库数据。我通过Startup.cs中的.AddSingleton()注入存储库类:services.AddSingleton<IImportRepository, ImportRep…