C# 如何将一个实体上的EF map NavigationProperty映射到另一个实体的集合
我希望两个实体之间有一个简单的外键关系,EF属性是双向的。但是,目前EF正在生成表示关系每个方向的2个外键。如何使EF将其视为单个属性?下面将分别使用外键字段Script_Id和Script_Id1生成名为Script_ScriptRuns和ScriptRun_Script的两个数据库外键约束C# 如何将一个实体上的EF map NavigationProperty映射到另一个实体的集合,c#,.net,entity-framework-4.1,C#,.net,Entity Framework 4.1,我希望两个实体之间有一个简单的外键关系,EF属性是双向的。但是,目前EF正在生成表示关系每个方向的2个外键。如何使EF将其视为单个属性?下面将分别使用外键字段Script_Id和Script_Id1生成名为Script_ScriptRuns和ScriptRun_Script的两个数据库外键约束 公共类脚本 { [关键] 公共Guid Id{get;set;} 公共虚拟ICollection脚本运行{get;set;} } 公共类脚本运行 { [关键] 公共Guid Id{get;set;} [必
公共类脚本
{
[关键]
公共Guid Id{get;set;}
公共虚拟ICollection脚本运行{get;set;}
}
公共类脚本运行
{
[关键]
公共Guid Id{get;set;}
[必需]
公共虚拟脚本脚本{get;set;}
}
使用您发布的代码,它只在ScriptRun
类中为我创建了一个FK-Script\u Id
您只是想重命名在该类中创建的FK吗?可以通过在DbContext中映射列来实现这一点。这会将其映射到ScriptId:
modelBuilder.Entity<Script>()
.HasMany(s => s.ScriptRuns)
.WithRequired(sc => sc.Script)
.Map(x => x.MapKey("ScriptId"));
modelBuilder.Entity()
.HasMany(s=>s.ScriptRuns)
.WithRequired(sc=>sc.Script)
.Map(x=>x.MapKey(“ScriptId”);
如果没有,你能发布你的整个模型吗?完美正是我所需要的-
有许多/和required
组合似乎足以告诉EF两者是相同的。干杯所以现在告诉我需要等待3分钟才能接受答案,我会这样做的。