我想创建一个通用方法来执行这个函数,并将用户类和where子句作为参数传递。
但我找不到正确的方法。
方法声明如下:
public void Update(where clause, User user) {}
但我找不到正确的方法。
ctx.Users.Where(x => x.Id == 10)
.Update(x => new User() { Name = "Jack" });
方法声明如下:
public static int Update<T>(this IQueryable<T> query, Expression<Func<T, T>> updateFactory) where T : class;
User
类除了Name
属性还有其他的属性吗?如果是的话,Update
方法是否应该更新其他属性?例如,假设有一个Age
属性,它也应该被更新吗?Update
方法如何知道要更新哪些属性? - Yacoub Massadint Age
属性,这可能意味着它在初始化期间未设置,也可能意味着它被明确设置为0。也许将Age
设置为0正是您想要更新的内容。 - Yacoub Massad