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

Entity framework 4 实体框架4.1代码优先:单列外键到多个实体,entity-framework-4,ef-code-first,Entity Framework 4,Ef Code First,我一直在尝试在EF4.1中创建一个模型,用一个表和一个列表示一个数据库模式,该表和列包含来自另外两个表的外键,但在注释和fluent API方面都没有什么好运气。示例模型如下所示: public class User { ... public virtual ExtendedAttribute ExtendedAttributes { get; set; } } public class Account { ... public virtual Exte

我一直在尝试在EF4.1中创建一个模型,用一个表和一个列表示一个数据库模式,该表和列包含来自另外两个表的外键,但在注释和fluent 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; }
}
目前,这些实体的配置对于用户和帐户模型构建器都是这样的:

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

你对如何实现这一目标有何想法?非常感谢。

数据库本身甚至不可能,EF不会对此进行任何抽象。每个实体必须有单独的列和导航属性。

谢谢您的回复。虽然我能够用我描述的外键关系创建一个数据库(这很奇怪),但您完全正确,因为我无法插入实际数据。因此,我假设选项是将键映射到多个列,或者创建一个一对一的中介来进行映射。关于这种情况下首选方法的建议?