[英]Using a generic model in Entity Framework?
這是我的數據庫的一部分:
public abstract class LmData
{
public int Id { get; set; }
public LmDataType Type { get; set; }
}
[Table("ListLmDatas")]
public class ListLmData<T> : LmData where T : LmData
{
public virtual List<T> Value { get; set; }
public ListLmData()
{
Type = LmDataType.List;
}
}
如您所見,我正在嘗試在數據庫中使用通用模型(該模型繼承自LmData)。 我已經添加了它並更新了數據庫(EF似乎沒有抱怨)。
另一個模型具有對通用模型(ListLmData)的引用,引用如下(簡化)所示:
public class WpSite
{
public virtual ListLmData<StringLmData> Urls { get; set; }
}
但是運行以下代碼:
WpSite wp = new WpSite();
wp.Urls = new ListLmData<StringLmData>();
wp.Urls.Add(new StringLmData());
context.WpSites.Add(wp);
context.SaveChanges();
導致添加了WpSite,但.Urls屬性為NULL。
此外,在檢查數據庫時,我發現似乎沒有名為“ ListLmDatas ”的表,這進一步使我感到困惑。
實體框架6.1.1不支持通用模型嗎?
附帶說明一下,是的,我沒有顯示“ StringLmData”的模型定義,因為據我所知,它與該問題無關。
繼承有效,泛型無效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.