[英]c# Type Inference
我有一個繼承自DbContext的ECMContext類。 在ECMContext中有一個屬性MlaArticles
,它是DbSet<MlaArticle>
,其中MlaArticle
繼承自WebObject
。 我創建了一個接受WebObject類型參數的泛型方法。 該方法嘗試將更改保存到數據庫,如果沒有,則退出更改。
我的問題 - 因為我已經有db(已經實例化)並且我知道正在傳遞的WebObject
的類型(在這個例子中是MlaArticle
),有沒有辦法在不傳遞額外參數的情況下引用DbSet集合db.MlaArticles
? 我知道這是錯的,但這體現了我的問題......
protected ECMContext db;
void SaveChanges<T>(T obj) where T : WebObject
{
try { db.SaveChanges(); }
catch
{
db.MlaArticles.Remove(obj); //this is the original code
db.DbSet<T>.Remove(obj); //something like this is what I'd like to do
}
}
你可以使用Set<T>()
操作:
try { db.SaveChanges(); }
catch
{
db.Set<T>().Remove(obj);
}
?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.