1
我首先使用實體框架代碼來設計數據庫。實體框架使用外鍵作爲唯一主鍵在一對多中
我有2個模型與一對多的關係。一個「富」可以有很多「FooData」如下 -
public class Foo {
[Key]
public string serialNumber{get; set;}
public int someNumber {get; set;}
public string someName {get; set;}
// Many more properties
// Navigation Collection
public virtual ICollection<FooData> FooDatas{get; set;}
}
public class FooData{
[Key]
[ForeignKey("foo")]
public string SerialNum {get; set;}
public DateTime SomeTime {get; set;}
public byte[] SomeData {get; set;}
// Navigation property
public virtual Foo foo {get; set;}
}
當我嘗試添加控制器「富」在MVC中,使用「富」作爲一個腳手架模型,它給了我這個錯誤 - 「多重性在角色中是無效的,因爲從屬角色指的是關鍵屬性,所以從屬角色的多重性的上限必須是1「。
我將不勝感激這裏的一些幫助。
謝謝
如果'FooData.SerialNum'是其'FooData'的主鍵,並且在'Foo'一個外鍵,則類之間的關係不能是1-許多,它僅限於1- 0:1,因爲使它成爲唯一的「鑰匙」。嘗試從'FooData.SerialNum'中刪除'Key'。 –
如果我從FooData中刪除[key],那麼錯誤說「FooData」沒有定義鍵。 – Akshada
您可能需要爲詳細信息表創建代理標識密鑰字段。 –