0
作爲示例,我有一個對象Person,Person由男人和女人繼承。 Person包含男人和女人共享的屬性,而男人和女人包含特定的屬性。用Code First存儲對象,作爲類和子類相關
我想要做的就是使用Entity Framework 4.1 Code First將它們存儲在數據庫中。所以我做了三個模型對象
class Person {
int Id { get; set; }
string Name { get; set; }
string Weight { get; set; }
public virtual Woman Woman { get; set; }
public int WomanID { get; set; }
public virtual Man Man { get; set; }
public int ManID { get; set; }
}
class Woman {
int Id { get; set; }
bool IsPregnant { get; set; }
}
class Man {
int Id { get; set; }
bool ThinksWithDick { get; set; }
}
所以我人 - >男人/女人有1到0..1的關係。我不知道如何用Code First強制執行此操作。我讀過1對1關係(here),但那不是我要找的。
也許這完全是錯誤的方法,但我相信別人碰到了同樣的事情。無需手動應用數據庫中的約束就可以完成。
在你的情況下,無論是男人還是女人都可以從Person類派生出來。 – hazimdikenli 2011-05-13 09:33:48
我嘗試了繼承方式。所以女人/男人繼承人。在數據庫中,EF在Person表中添加一個「Discriminator」字段,其中包含類名「Woman」或「Man」。這似乎恰好符合我的需要。感謝名單! – Saab 2011-05-13 09:48:02