0

我有一个类有两个对一个类(用户)的引用:

public class Xpto {
    public string Username { get; set; }
    public virtual User User { get; set; }
    public string Username2 { get; set; }
    public virtual User User2 { get; set; }
}

事情是 EF 只创建对第一个键(用户名)的引用。这样 User 和 User2 将 Username 作为键,而不是我想要的...

我发现这是答案:

nHibernate,将两个属性映射到同一个类

但我不知道如何将其应用于我的场景。

谢谢。

编辑:伙计们,没关系......我想我应该看得更远一点。答案就在这里: 如何创建一个对另一个类有 2 个引用的 POCO 对象

标准是<property_name><key_name> 所以正确的方法是UserUsernameUser2Username

谢谢。

4

1 回答 1

1

考虑改用 ForeignKeyAttribute,然后您可以为您的关键属性选择您喜欢的名称。

public class Xpto {

    [ForeignKey("User")]
    public string Username { get; set; }

    public virtual User User { get; set; }

    [ForeignKey("User2")]
    public string Username2 { get; set; }

    public virtual User User2 { get; set; }
}
于 2012-10-27T22:52:12.707 回答