使用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);
}
);
它编译,但迁移仍未发生。