实体框架4.1代码优先:单列外键到多个实体

时间:2011-08-29 21:09:37

标签: entity-framework-4 ef-code-first

我一直在尝试在EF 4.1中创建模型来表示一个数据库模式,其中一个表和一个列保存来自另外两个表的外键,但是对于注释和流畅的API几乎没有运气。此处显示了一个示例模型:

public class User
{
    ...
    public virtual ExtendedAttribute ExtendedAttributes { get; set; }
}    

public class Account
{
    ...
    public virtual ExtendedAttribute ExtendedAttributes { get; set; }
}

public class ExtendedAttribute
{
    public Guid Id {get; set;}
    public Guid ItemId {get; set;} // both Account.Id and User.Id stored here
    public string Value { get; set; }
}

目前,这些实体的配置对于User和Account modelBuilders看起来都是这样的:

this.HasOptional(u => u.ExtendedAttributes).WithRequired();

有关如何实现的任何想法?非常感谢。

1 个答案:

答案 0 :(得分:0)

对于数据库本身来说甚至是不可能的,EF也不会为此提供任何抽象。每个实体必须具有单独的列和导航属性。