我遇到EF Fluent配置问题。我不得不将我的基本Entity类拆分为一个类和几个接口。我正在尝试为非传统的fk键进行配置 - >导航属性关系。
问题是:
modelBuilder.Types<IAuditable>()
.Configure(x => x.Property(y => y.CreatedByUser)
不要暴露任何允许我配置此关系的API。
我试图寻找某种注释来配置它(DataAnnotations就像这样 - 在界面上装饰属性毫无意义)
modelBuilder.Types<IAuditable>()
.Configure(x => x.Property(y => y.CreatedByUser)
.HasColumnAnnotation(IndexAnnotation.AnnotationName, new IndexAnnotation(new IndexAttribute {IsUnique = true}));
然而我找不到像ForeignKeyDataAnnotation这样的东西。甚至可以在EF6中做这样的事情吗?
编辑:
我完全清楚我不应该将DataAnnotations与Fluent配置混合,但有些事情很遗憾在Fluent中是不可能的(至少那是我在研究中得到的)。 (这就是我审计的样子)。
public interface IAuditable
{
public int CreatedBy { get; set;}
public int CreatedByUser {get; set;}
}
(直到这一点,我有一个BaseEntity类使用Foreign Key Attribiute修饰 - &gt;它是应用程序中唯一使用DataAnnotations的地方。)