在 Linq 中将 null 替换为空
in Linq replace null to empty
var ch = _context.xxtu_nintex_emp_data_v
.Where(o => o.LOGIN_USER_NAME ==userId.ToUpper())
.Select(emp => new
{ OTHERMOBILENO = emp.OTHERMOBILENO ?? "" })
.ToList().SingleOrDefault();
结果是
当使用 toList() 时我得到了我想要的但是它太慢了
var ch = _context.xxtu_nintex_emp_data_v.ToList()
.Where(o => o.LOGIN_USER_NAME ==userId.ToUpper())
.Select(emp => new
{ OTHERMOBILENO = emp.OTHERMOBILENO ?? "" })
.ToList().SingleOrDefault();
结果是
I use code first approach api and Microsoft.EntityFrameworkCore
一些你可以尝试的事情
在条件之后调用ToList
,只从数据库中获取数据的一个子集
var ch = _context.xxtu_nintex_emp_data_v
.Where(o => o.LOGIN_USER_NAME == userId.ToUpper())
.ToList() //<-- here
.Select(emp => new
{ OTHERMOBILENO = emp.OTHERMOBILENO ?? "" })
.ToList().SingleOrDefault();
将 Select
移到上次 ToList
调用后
var ch = _context.xxtu_nintex_emp_data_v
.Where(o => o.LOGIN_USER_NAME == userId.ToUpper())
//<-- re-arrange ToList/Select
.ToList()
.Select(emp => new { OTHERMOBILENO = emp.OTHERMOBILENO ?? "" })
//<--
.SingleOrDefault();
重新整理一下
var emp = _context.xxtu_nintex_emp_data_v
.Where(o => o.LOGIN_USER_NAME == userId.ToUpper())
.SingleOrDefault();
var ch = new { OTHERMOBILENO = emp?.OTHERMOBILENO ?? "" };
var ch = _context.xxtu_nintex_emp_data_v
.Where(o => o.LOGIN_USER_NAME ==userId.ToUpper())
.Select(emp => new
{ OTHERMOBILENO = emp.OTHERMOBILENO ?? "" })
.ToList().SingleOrDefault();
结果是
当使用 toList() 时我得到了我想要的但是它太慢了
var ch = _context.xxtu_nintex_emp_data_v.ToList()
.Where(o => o.LOGIN_USER_NAME ==userId.ToUpper())
.Select(emp => new
{ OTHERMOBILENO = emp.OTHERMOBILENO ?? "" })
.ToList().SingleOrDefault();
结果是
I use code first approach api and Microsoft.EntityFrameworkCore
一些你可以尝试的事情
在条件之后调用
ToList
,只从数据库中获取数据的一个子集var ch = _context.xxtu_nintex_emp_data_v .Where(o => o.LOGIN_USER_NAME == userId.ToUpper()) .ToList() //<-- here .Select(emp => new { OTHERMOBILENO = emp.OTHERMOBILENO ?? "" }) .ToList().SingleOrDefault();
将
Select
移到上次ToList
调用后var ch = _context.xxtu_nintex_emp_data_v .Where(o => o.LOGIN_USER_NAME == userId.ToUpper()) //<-- re-arrange ToList/Select .ToList() .Select(emp => new { OTHERMOBILENO = emp.OTHERMOBILENO ?? "" }) //<-- .SingleOrDefault();
重新整理一下
var emp = _context.xxtu_nintex_emp_data_v .Where(o => o.LOGIN_USER_NAME == userId.ToUpper()) .SingleOrDefault(); var ch = new { OTHERMOBILENO = emp?.OTHERMOBILENO ?? "" };