2012-10-27 34 views
0

我有了兩個引用一個類(用戶)類:如何將同一個類的兩個不同屬性添加到一個POCO類中?

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只創建到第一密鑰(用戶名)引用。這樣,用戶和用戶2具有用戶名的關鍵,而不是我故意的......

我發現這是答案:

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> 所以正確的方法是UserUsernameUser2Username

感謝。

+0

您可以發佈用戶類別嗎? –

+0

@DanielPersson這是一個用戶名爲[Key] – eestein

回答

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; } 
} 
+0

的標準類在哪個DLL中?謝謝。 – eestein

+0

我發現... System.ComponentModel.DataAnnotations.Schema謝謝,我會這樣做 – eestein

相關問題