C# 利用ef-fluent约定配置外键关系

C# 利用ef-fluent约定配置外键关系,c#,.net,entity-framework,conventions,C#,.net,Entity Framework,Conventions,我的EF Fluent配置有问题。我不得不将我的基本实体类拆分为一个类和几个接口。我正在尝试对非常规fk键->导航属性关系进行配置 问题是: modelBuilder.Types<IAuditable>() .Configure(x => x.Property(y => y.CreatedByUser) (到目前为止,我有一个用外键属性修饰的BaseEntity类->它是应用程序中唯一使用DataAnnotations的地方)。我不知道我

我的EF Fluent配置有问题。我不得不将我的基本实体类拆分为一个类和几个接口。我正在尝试对非常规fk键->导航属性关系进行配置

问题是:

modelBuilder.Types<IAuditable>()
                .Configure(x => x.Property(y => y.CreatedByUser)

(到目前为止,我有一个用外键属性修饰的BaseEntity类->它是应用程序中唯一使用DataAnnotations的地方)。

我不知道我是否正确理解您的意思。是否要为实现特定接口的所有实体配置导航属性?如果是这样,您很可能会失败,因为导航属性需要在实体上配置。是的,这正是我想要的。在“拆分”之前,配置是通过基类中的属性完成的。一个选项是重命名接口中的属性以匹配约定(但这将打破应用程序中的其他依赖项,如AutoMapper映射)。
modelBuilder.Types<IAuditable>()
            .Configure(x => x.Property(y => y.CreatedByUser)
            .HasColumnAnnotation(IndexAnnotation.AnnotationName, new IndexAnnotation(new IndexAttribute {IsUnique = true}));
public interface IAuditable
{
    public int CreatedBy { get; set;}
    public int CreatedByUser {get; set;}

}