EF方面的问题

qq_30412191 2020-08-14 03:43:16
假如我有一个实体类大概有二十个栏位,全都可以作为查询条件,我要实现的效果是,如果我输入了字段则ef会按照我输入的字段查询,如果我没有输入则不做查询,还要根据此条件分页,(我百度了一些ef分页的方法,发现如果想发送总页数还要再单独写一个查询,有没有办法改善,因为总页数查询是单独的),有没有人能提供一下思路。。。。。还有比如传过来时间怎么办。。。。。。。。。。,第二个问题:请教一下使用ef新增的时候,从页面过来的数据有为null值的,但是我数据库这个栏位默认是为''的,我用ef新增的时候,报错,有没有办法让ef自动识别,如果值为null则到数据库自动变成''?,
第三个问题,efCore返回json字符串默认首字符要小写,比如Address=>address,但是json序列化Create_Date这种的格式就变成了=》create_Date,前端就有点不好处理,能不能提供统一转大写或者小写的方法
...全文
1921 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
哩厚dotNET 2020-08-14
  • 打赏
  • 举报
回复
第一个问题扩展IQueryable,仅供参考: public static PagedResult<T> ToPaged<T>(this IQueryable<T> query, int page, int size) where T : class { var result = new PagedResult<T> { CurrentPage = page, PageSize = size, TotalCount = query.Count() }; if (page < 1) return result; var skip = (page - 1) * size; result.Data = query.Skip(skip).Take(size).ToList(); return result; } 第二个问题:实体属性设置默认值 ,或页面变量初始值,或者用json传参时设置下json为null的值变为'',具体可参考下第三个问题的回答 第三个问题:继承DefaultContractResolver,把属性名转换成小写,然后在Startup类的ConfigureServices方法里AddJsonOptions配置。 public class LowerJsonNamingPolicy : JsonNamingPolicy { public override string ConvertName(string name) { return name.ToLower(); } } public void ConfigureServices(IServiceCollection services) { services.AddControllers().AddJsonOptions(options => { options.JsonSerializerOptions.PropertyNamingPolicy = new LowerJsonNamingPolicy(); }) ; }

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧