[英]How to pass an string as a type parameter for a generic DbSet in Entity Framework?
[英]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.