[英]Generic function for getting data using entity framework
我正在嘗試使用Entity Framework創建一個通用函數來從DB獲取數據。 我傳遞了一個id
作為檢索的關鍵。 為此,我編寫了以下函數
public T Get<T>(object id) where T : class
{
T item = null;
using (var context = MyContext())
{
item = context.Set<T>().Find(id);
}
return item;
}
該功能正常運行沒有任何問題。 但是,如果我沒有將主鍵作為過濾器傳遞,我該如何修改此函數來獲取數據?
您可以傳遞謂詞表達式並使用.FirstOrDefault()
。
public T Get<T>(Expression<Func<T, bool>> predicate)
where T : class
{
T item = null;
using (var context = MyContext())
{
item = context.Set<T>().FirstOrDefault(predicate);
}
return item;
}
var customer = context.Get<Customer>(x => x.Name == "Bob");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.