我正在构建一个端点,可以用EF Core从DB获取最新对象。我的代码是
private AppUser GetLatestUser()
{
if (context.Roles.Any())
{
var max = context.Users.Max(x => x.UpdatedAt);
return context.Users.Where(x => x.UpdatedAt == max).FirstOrDefault();
}
return null;
}
private AppRole GetLatestRole()
{
if (context.Roles.Any())
{
var max = context.Roles.Max(x => x.UpdatedAt);
return context.Roles.Where(x => x.UpdatedAt == max).FirstOrDefault();
}
return null;
}
.....
我想避免使用我拥有的每个实体使用几乎相同的代码。想使用类型作为参数,但不知道该怎么做。
您应该尝试这样的事情
private T GetLatestEntry(T entity) where T : class
{
return context.Set<T>().OrderByDescending(x => UpdatedAt).FirstOrDefault();
}