2017-04-04 4 views
0

Ich bin Entwickler und MVC mit Entity Framework. Ich bin ein Select so.MVC Entity Framework Wählen isnull Feld

IEnumerable<UploadSearch> viewModel = (from uploads in _db.Uploads 
 
      select new UploadSearch 
 
             { 
 
              Positives = uploads.Positives, 
 
             });

Das Wählen funktioniert. Es gibt keine Notwendigkeit zu erklären, was es tut.

Was ich tun muss, ist Null abrufen (0), wenn ein Feld wie uploads.Positives null ist

So etwas wie dieses

Select isnull (Positiv, 0)

Wie kann ich es tun?

Dank ..

+0

[?? Operator (C# -Referenz)] (https://msdn.microsoft.com/en-us/library/ms173224.aspx) –

Antwort

1

machen eine Annahme hier ... Wenn Sie 0 dann wollen über das, was du redest ist ein int? (oder Nullable<int>), nicht wahr?

Vor diesem Hintergrund können Sie überprüfen, ob es in einer bedingten Operation einen Wert hat. Etwas wie:

select new UploadSearch 
{ 
    Positives = uploads.Positives.HasValue ? uploads.Positives : 0 
} 

Oder, wenn der LINQ-Anbieter nicht wie .HasValue oder etwas in der Art (oder Sie keinen Nullable<T> aus irgendeinem Grund verwenden), dann können Sie auch für null überprüfen ausdrücklich:

select new UploadSearch 
{ 
    Positives = uploads.Positives == null ? 0 : uploads.Positives 
} 

Wenn die LINQ-Provider die ?? Operator unterstützt, können Sie es sogar so zu etwas verkürzen:

select new UploadSearch 
{ 
    Positives = uploads.Positives ?? 0 
}