2017-12-21 9 views
0

Ich habe ein einige Feld EntitätWie ändere ich object.value == null?

public virtual Trailer TempTrailer { get; set; } 

Wie dieser Wert auf Null-Felder ändern? Ich benutzte:

var temptrailer = model.TempTrailer != null ? 
    await trailerService.FindByIdAsync(model.TempTrailer.Id) : 
    null; 

entity.TempTrailer = temptrailer == null ? null : temptrailer;` 

, aber akzeptiert keine Nullwerte. Wie kann ich dieses Problem lösen?

+2

Ist Trailer eine Struktur oder eine Klasse? –

+1

Ich nehme an, 'Trailer' ist eine' struct'? Strukturen können nicht "null" sein. Wenn Sie also einen 'null'-Wert zuweisen müssen, ändern Sie den Typ von 'struct' in' class' * oder * ändern Sie den deklarierten Typ von 'Trailer' in' Trailer' 'oder' Nullable ' – Michael

+0

Trailer ist eine Klasse –

Antwort

1

entity.TempTrailer = temptrailer == null ? null : temptrailer;

Also im Grunde, Sie wollen null zuweisen, wenn temptrailernull ist, sonst temptrailer. Man könnte auch schreiben Sie einfach die folgende Anweisung genau das gleiche zu erreichen:

entity.TempTrailer = temptrailer; 

Dennoch, wenn Sie einen Wert mit dem Bedingungsoperator (?:) zuweisen möchten, können Sie „werfen“ null:

entity.TempTrailer = temptrailer == null ? (Trailer)null : temptrailer; 
+0

Ihr Code funktioniert nicht. In Debug ist Arbeit, in Realese ist nicht Arbeit Ich weiß nicht warum –

+1

Willst du sagen, dass nach dieser Anweisung, 'entity.TempTrailer' ist nicht null, oder sagst du, dass die entsprechende Spalte in der entsprechenden Zeile in der Datenbank ist nicht null? Bitte geben Sie explizit an, was das Problem ist und nicht nur "funktioniert nicht". –

+0

Ich brauche den Wert von TempTrailer in DB ändern. Zum Beispiel, Traktor haben TempTrailer, In der DB, in der Tabelle Tractor haben TempTrailer_ID Ich brauche diesen TempTrailer_Id löschen, das ist dieser Wert klar –