首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EF Code first父子映射

EF Code first父子映射
EN

Stack Overflow用户
提问于 2012-06-14 00:38:13
回答 1查看 2.7K关注 0票数 3

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

代码语言:javascript
复制
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 ),我如何在fluent Api中指定这个映射,以便我可以加载每个文件对象的"FileLLocalCollection“?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-14 04:20:17

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

代码语言:javascript
复制
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,您可以这样映射它:

代码语言:javascript
复制
modelBuilder.Entity<FileLocal>()
    .HasRequired(fl => fl.Lang)
    .WithMany()
    .HasForeignKey(fl => fl.LangId);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11019448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档