簡體   English   中英

如何將實體類型名稱作為參數傳遞給通用幫助器?

[英]How to pass Entity Type names into generic helper, as a parameter?

我想編寫一個通用的幫助程序,該幫助程序采用實體類型名稱,並在其LINQ代碼中使用它。

public Boolean Eval( )
{
    var firstOrDefault = db.Class.OfType<Order>().FirstOrDefault;
}

如何傳遞Order作為類型名稱,以使此代碼更通用? 我相信這與<T>

public Boolean Eval<T>( )
{
   var firstOrDefault = db.Class.OfType<T>().FirstOrDefault();
}

如果希望T始終為某個基本類型,則可以將其擴展為以下內容:

public Boolean Eval<T>( ) where T : YourBaseType
{
   var firstOrDefault = db.Class.OfType<T>().FirstOrDefault();
}

沒有任何約束,就有可能傳遞任何可能導致異常的類(甚至是與您的實體和您的DbContext不相關的DbContext )。 在這種情況下,建議您使用一些try/catch塊將代碼包裝起來。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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