Linq用另一个值替换null /空值

She*_*ger 5 linq asp.net-mvc-4

在sql server中我创建了一个视图,在那里我可以检查空值并用默认值替换它们(如ISNULL(PrimaryPhone,'No Primary#')AS PrimaryPhone.我在asp.net web表单中使用了很多视图应用程序,但我现在正在学习MVC 4,并希望从正确开始.

我为我的客户端表设置了模型,控制器和视图.我希望能够用("未输入")或类似的东西替换null/empty值.我相信这需要进入控制器,如果我错了请纠正我.

我看到了一个使用hasvalue的例子,但它不能通过intellisense获得.

如何在我的模型中不使用DefaultValue替换empty/null值?

谢谢

var result = db.Clients.Select(x => new
        {
            CustomerID = x.CustomerID,
            UserID = x.UserID,
            FullName = x.FullName,
            EmailAdd = x.emailadd.DefaultIfEmpty("No Email"),....
Run Code Online (Sandbox Code Playgroud)

Sco*_*man 6

你可以用?? 当某个为null时,运算符设置默认值:

var result = db.Clients.Select(x => new
        {
            CustomerID = x.CustomerID,
            UserID = x.UserID,
            FullName = x.FullName,
            EmailAdd = x.emailadd ?? "No Email", ...
Run Code Online (Sandbox Code Playgroud)

如果需要更多控制,例如检查null和empty,还可以使用?:运算符(也称为"条件运算符"或"三元运算符"):

var result = db.Clients.Select(x => new
        {
            CustomerID = x.CustomerID,
            UserID = x.UserID,
            FullName = x.FullName,
            EmailAdd = string.IsNullOrEmpty(x.emailadd) ? "No Email" : x.emailadd, ...
Run Code Online (Sandbox Code Playgroud)