有沒有什麼辦法可以傳入一個通用的實體對象並獲得其查詢中的第一個元素。如何獲取動態/泛型類型的第一個元素
我的意圖是在每個表上調用FirstOrDefault()
,並嘗試捕獲數據庫完整性中的錯誤。
能夠通過字符串參數調用它會更好,例如, db.Entity("myTable").FirstOrDefault()
但這樣的方法似乎並不存在。
下面是一些通用的T
嘗試,但我得到的對象沒有設置爲實例錯誤。
// Called with
//GetFirstObject<myTable>(db.myTable);
public static void GetFirstObject<T>(object obj)
{
MethodInfo method = typeof(IEnumerable<T>).GetMethod("FirstOrDefault");
MethodInfo generic = method.MakeGenericMethod();
generic.Invoke(obj, null);
}
在這個例子中'db'是什麼?一個EF DbContext? – rmorrin
是的,對不起。這是我的實體環境 – Doomsknight