答案 0 :(得分:0)
取决于你的班级的样子。根据您的屏幕截图,您应将其更改为此
public void Update<T>(T obj, params Expression<Func<T, object>>[] propertiesToUpdate)
{
}
如果课程类似
,那么您的版本才有效public class YourClass<T>
{
public void Update(T obj, ...
{
}
}
以下是basics。
修改强>
要么你忘记发帖,要么你做错了。
如果您正在查看DbContext.Set<T>()
的{{3}},那么您会看到有一个约束说where T : class
。 (这是我在评论中已经提到过的。)这意味着,您的通用类型必须满足相同的要求。因此,您需要将方法更改为以下内容,因为它必须至少与DbContext.Set<T>()
一样具体。
public void Update<T>(T obj, params Expression<Func<T, object>>[] propertiesToUpdate) where T : class
{
}
最后但同样重要的是,建议。处理泛型的基础。这非常重要。一旦理解了整个事物,它在某些情况下就会非常强大。
答案 1 :(得分:0)
你需要这样做:
public void Update<T>(Task obj, params Expression<Func<T, object>>[] propertiesToUpdate)