7

在 sql server 中,我创建了可以检查空值并在需要时将其替换为默认值的视图(即 ISNULL(PrimaryPhone,'No Primary #')AS PrimaryPhone。我在我的 asp.net Web 表单中使用了很多视图应用程序,但我现在正在学习 MVC 4 并想从头开始。

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

我看到了一个使用 hasvalue 的示例,但无法通过智能感知获得。

在我的模型中不使用 DefaultValue 的情况下如何替换空/空值?

谢谢

var result = db.Clients.Select(x => new
        {
            CustomerID = x.CustomerID,
            UserID = x.UserID,
            FullName = x.FullName,
            EmailAdd = x.emailadd.DefaultIfEmpty("No Email"),....
4

1 回答 1

9

你可以使用?? 运算符在某些内容为空时设置默认值:

var result = db.Clients.Select(x => new
        {
            CustomerID = x.CustomerID,
            UserID = x.UserID,
            FullName = x.FullName,
            EmailAdd = x.emailadd ?? "No Email", ...

如果您需要更多控制,例如检查 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, ...
于 2012-12-15T19:08:18.710 回答