【问题标题】:How to add two different properties of the same class to one POCO class?如何将同一类的两个不同属性添加到一个 POCO 类中?
【发布时间】:2012-10-27 22:37:10
【问题描述】:

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

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, mapping two properties to the same class

但我不知道如何将它应用到我的场景中。

谢谢。

编辑:伙计们,没关系...我想我应该看的更远一点。 答案在这里: How do I create a POCO object that has 2 references to another class

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

谢谢。

【问题讨论】:

  • 你能发布用户类吗?
  • @DanielPersson 这是一个标准类,用户名为 [Key]

标签: c# entity-framework-4.1 poco


【解决方案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; }
}

【讨论】:

  • 我找到了... System.ComponentModel.DataAnnotations.Schema 谢谢,我会那样做
猜你喜欢
  • 2016-10-20
  • 2021-12-29
  • 2012-03-16
  • 2022-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多