gpt4 book ai didi

entity-framework - EF 代码第一个父子映射

转载 作者:行者123 更新时间:2023-12-01 23:34:06 25 4
gpt4 key购买 nike

这可能是一个重复的 qn,但我无法得到这种情况的正确答案。我有以下表结构:

public class File
{
public int FileId { get; set; } //PK
public int VersionID { get; set; }

public virtual ICollection<FileLocal> FileLLocalCollection { get; set; }
}

public class FileLocal
{
public int FileId { get; set; } //PK, FK
public int LangID { get; set; } //PK,FK
public string FileName { get; set; }
}

我这里没有包含第三个表(它基本上是 LangID (PK) & LangCode )我如何在流畅的 Api 中指定此映射,以便我可以为每个文件对象加载“FileLLocalCollection”?

最佳答案

映射的第一部分可以这样完成:

modelBuilder.Entity<File>()
.HasMany(f => f.FileLocalCollection)
.WithRequired()
.HasForeignKey(fl => fl.FileId);

modelBuilder.Entity<FileLocal>()
.HasKey(fl => new {fl.FileId, fl.LangId});

第二部分取决于您的Lang 的定义方式。例如,如果您将导航属性从 FileLocal 添加到 Lang,您可以这样映射它:

modelBuilder.Entity<FileLocal>()
.HasRequired(fl => fl.Lang)
.WithMany()
.HasForeignKey(fl => fl.LangId);

关于entity-framework - EF 代码第一个父子映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11019448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com