Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将一个实体上的EF map NavigationProperty映射到另一个实体的集合_C#_.net_Entity Framework 4.1 - Fatal编程技术网

C# 如何将一个实体上的EF map NavigationProperty映射到另一个实体的集合

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;} [必

我希望两个实体之间有一个简单的外键关系,EF属性是双向的。但是,目前EF正在生成表示关系每个方向的2个外键。如何使EF将其视为单个属性?下面将分别使用外键字段Script_Id和Script_Id1生成名为Script_ScriptRuns和ScriptRun_Script的两个数据库外键约束

公共类脚本
{
[关键]
公共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分钟才能接受答案,我会这样做的。