的我有我的数据库中的表,其地址分成三列:使用条件运算符
First = The House number and street name NOT NULL
Middle = e.g Business park name or NULL
Last = Area name or NULL
的First
柱将永远有一个值,但其他两个可能包含的值。我试图实现的是,如果Middle or Last
为空返回First
列值如果First or Middle
有值然后返回这两个,如果全都返回它们全部3个。所以我想使用条件运算符来实现这一点。
我的代码如下:
using (var dbContext = new MyEntities())
{
return dbContext.User.Select(a => new MyUserDto
{
Address = !string.IsNullOrEmpty(a.First + a.Middle + a.Last) ? a.First + a.Middle + a.Last : a.First
}).ToList();
}
如何更改代码即可获得的First and Middle
的值,如果中间不为空
,或者我应该在我MyUserDto
创建单独的属性来表示什么在数据库?
我会让你的DTO完全匹配数据库中的表,它有助于当你走另一条路,插入DTO到表中,你不必去尝试解析事情以获取输入的地址。 –
您不应该需要将null连接到一个字符串上,它不会返回null,它会返回原始字符串。例如''Test“+ null ==”Test“' –