gpt4 book ai didi

c# - 如何使用通用 LINQ to SQL 存储库的更新方法

转载 作者:行者123 更新时间:2023-11-30 18:07:10 26 4
gpt4 key购买 nike

我已经实现了以下通用方法:

public IQueryable<T> Query(Expression<Func<T, bool>> filter)
{
return context.GetTable<T>().Where(filter);
}

public virtual void Update(T entity)
{
context.GetTable<T>().Attach(entity);
}

我不确定如何在消费者类中实现它?理想情况下,我想传入一个 userref 并相应地更新用户?

最佳答案

将其更改为:

public IQueryable<T> Query<T>(Expression<Func<T, bool>> filter)
{
return context.GetTable<T>().Where(filter);
}

public virtual void Update<T>(T entity)
{
context.GetTable<T>().Attach(entity);
}

var user=something.Query<User>(x=>x.Name=="bla bla").First;
user.Name="alb alb";
something.Update(user);

但是请考虑避免编写通用存储库。你不会从他们那里得到那么多。如果它是通用的,公开 IQueryable,接受 Expression 过滤器,那么它是非常无用的抽象层,只会增加复杂性。

关于c# - 如何使用通用 LINQ to SQL 存储库的更新方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4191790/

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