gpt4 book ai didi

c# - 使用 Entity Framework 获取数据的通用函数

转载 作者:太空狗 更新时间:2023-10-29 21:08:24 26 4
gpt4 key购买 nike

我正在尝试创建一个通用函数以使用 Entity Framework 从数据库中获取数据。我正在传递一个 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");

关于c# - 使用 Entity Framework 获取数据的通用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32753506/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com