如何在EF 7中指定代码中的关联

时间:2015-08-14 10:05:10

标签: c# asp.net-core entity-framework-core

使用EF7 beta 5我想指定与其他类的关联。 所有人都能找到一个基于属性名称的约定。 但我想在代码中指定它。在EF 6中你可以这样做:

.WithOptional(y => y.Person)
   .HasForeignKey(y => y.PersonKey);

如何延续到EF 7

我有以下课程

public class Manager
{
    public Guid Id {get; set;}
    //...
}
public class Unit
{
    //...
    public Manager Manager {get; set;}
    public Guid ManagerKey {get; set;}
}

需要做些什么
    protected override void OnModelCreating(ModelBuilder builder)
    {
        base.OnModelCreating(builder);
        //????
    }

让魔术发生?

更新

按照DavidG提供的链接(处理alpha版本)。建议API朝这个方向发展:

那篇文章表明API正朝着这个方向发展:

modelBuilder.Entity<Blog>()
   .OneToMany(b => b.Posts, p => p.Blog).ForeignKey(b => b.BlogId);

但是,目前这不是API的一部分。 我使用其他一些博客文章和intellisense得出了类似的东西:

   builder.Entity<Unit>(
      a =>
      {
          a.Reference(b => b.Manager)
              .InverseReference()
              .ForeignKey<Unit>(c => c.ManagerKey);
      }
   );

它编译,但迁移仍未发生。

0 个答案:

没有答案