簡體   English   中英

c#類型推斷

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM