C# 或者更少)像这样: /// <summary> /// Get by Filter /// </summary> /// <param name="filter">user filters</param> /
或者更少)像这样:C# 或者更少)像这样: /// <summary> /// Get by Filter /// </summary> /// <param name="filter">user filters</param> /,c#,filter,repository,iqueryable,unit-of-work,C#,Filter,Repository,Iqueryable,Unit Of Work,或者更少)像这样: /// <summary> /// Get by Filter /// </summary> /// <param name="filter">user filters</param> /// <returns></returns> [Route("functionRoute")] [HttpPost] public IHttpActionResult GetUsersByFilter([FromBod
/// <summary>
/// Get by Filter
/// </summary>
/// <param name="filter">user filters</param>
/// <returns></returns>
[Route("functionRoute")]
[HttpPost]
public IHttpActionResult GetUsersByFilter([FromBody] UserFilter filter)
{
try
{
UserService service= new UserService ();
List<User> list = service.GetByFilter(filter).Select(x => new User() {
Id = x.Id,
Name = x.Name,
//every property except your image property
}).ToList();
List<UserCE> listCE = Mapper.Map<List<UserCE>>(list);
return Ok(listCE);
}
catch (Exception ex)
{
TraceManager.LogError(ex);
return InternalServerError(ex);
}
}
//
///通过过滤器
///
///用户过滤器
///
[路线(“功能路线”)]
[HttpPost]
公共IHttpActionResult GetUsersByFilter([FromBody]UserFilter筛选器)
{
尝试
{
UserService=newuserservice();
List=service.GetByFilter(filter).Select(x=>newuser(){
Id=x.Id,
Name=x.Name,
//除图像属性外的所有属性
}).ToList();
List listCE=Mapper.Map(列表);
返回Ok(列表);
}
捕获(例外情况除外)
{
TraceManager.LogError(ex);
返回InternalServerError(ex);
}
}
SO问题可能重复。SO问题可能重复。@Excali 2我的答案最终帮助你解决问题了吗?@Excali 2我的答案最终帮助你解决问题了吗?
public List<User> GetByFilter(UserFilter filter)
{
return _unitOfWork.UserRepository.GetByFilter(filter).ToList();
}
public IQueryable<User> GetByFilter(UserFilter filter)
{
return Get_internal(filter);
}
private IQueryable<User> Get_internal(UserFilter filter)
{
IQueryable<User> users = _context.Users;
if (filter.Deleted != null)
{
users = users.Where(u => u.Deleted == filter.Deleted );
}
return users;
}
private IQueryable<User> Get_internal(UserFilter filter)
{
IQueryable<User> users = _context.Users;
if (filter.Deleted != null)
{
users = users.Where(u => u.Deleted == filter.Deleted );
}
return users.Select(x => new User() {
Id = x.Id,
Name = x.Name,
//every property except your image property
});
}
public class User
{
public int Id { get; set; }
[NotMapped]
public string IgnoredField { get; set; }
}
public class MyContext : DbContext
{
public DbSet<User> Users{ get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<User>()
.Ignore(b => b.IgnoredField);
}
}
/// <summary>
/// Get by Filter
/// </summary>
/// <param name="filter">user filters</param>
/// <returns></returns>
[Route("functionRoute")]
[HttpPost]
public IHttpActionResult GetUsersByFilter([FromBody] UserFilter filter)
{
try
{
UserService service= new UserService ();
List<User> list = service.GetByFilter(filter).Select(x => new User() {
Id = x.Id,
Name = x.Name,
//every property except your image property
}).ToList();
List<UserCE> listCE = Mapper.Map<List<UserCE>>(list);
return Ok(listCE);
}
catch (Exception ex)
{
TraceManager.LogError(ex);
return InternalServerError(ex);
}
}