當我嘗試將實體映射到基類的屬性和派生類的另一個屬性時,我得到一個錯誤。將實體映射到基類和繼承類時Entityframework拋出錯誤
實施例:
錯誤是:錯誤1運行變換:一個構件命名汽車不能在類MyModel.Racer來限定。它在祖先類MyModel.Person中定義。
DB模型中有錯誤嗎?
當我嘗試將實體映射到基類的屬性和派生類的另一個屬性時,我得到一個錯誤。將實體映射到基類和繼承類時Entityframework拋出錯誤
實施例:
錯誤是:錯誤1運行變換:一個構件命名汽車不能在類MyModel.Racer來限定。它在祖先類MyModel.Person中定義。
DB模型中有錯誤嗎?
這裏的問題是Navigationproperties。我只需將Base類中的「Car」-Propertie重命名爲「FavouriteCar」,並將派生類「Car」重命名爲RaceCar。工程不錯!
的FavouriteCarID不應該出現在繼承類型的實體 - 它應該只映射到基本類型的屬性。
嘗試從個人或RaceCarID從賽車中刪除FavouriteCarID ..
因爲CarID已經與人所以我們不能在賽車表再次提及的是映射......
它就像你試圖創建一個重複類的人...所以它導致錯誤的傢伙...
我希望你能糾正這個問題... 刪除映射b汽車和賽車手表。它會工作
請找到表結構....希望你找這個。這樣你可以創建Db結構知道嗎?
public class car
{
public int CarID { get; set; }
}
public class Person
{
public int personid { get; set; }
// List<Favourite> .. we can do by querying dude only.
}
public class FavouriteCarList : Person, car
{
public int ID { get; set; }//pk
public int personid { get; set; }//FK
public int FavoriteCarID { get; set; }//FK from Car
}
public class Racer : car,person
{
public int ID { get; set; }//pk
public int personid { get; set; } //Fk
public int RaceCarID { get; set; }//FK from Car
}
對於FavouriteCar,做你試圖從Person和Car繼承?在C#中是不可能的。你也可以將多個喜愛的汽車映射到一個人,這不是我想要的 – Weissvonnix
夥計這就是你必須創建的數據庫設計。是的,你可以使用該設計將多個FavouriteCar映射到人員表。檢查FavouriteCarList表 – sarathkumar
I瞭解你的要求。創建人時,你需要添加多個Favoritecar,不是嗎? 。這將僅通過這種方式完成...再次檢查我的設計.. – sarathkumar
我想過了,但是從DB-Design-Aspect我認爲:1.一個人沒有RaceCar 2. RaceCar和Favorite是兩個不同的東西。什麼是最好的解決方案呢? – Weissvonnix
刪除汽車和賽車手錶之間的映射 – sarathkumar
然後刪除人與賽車手之間的映射夥計... – sarathkumar