2017-12-21 19 views
0

私は、エンティティobject.value == nullを変更するには?

これはnullに値をフィールドに変更する方法
public virtual Trailer TempTrailer { get; set; } 

のいくつかのフィールドがありますか?私は以下を使用しました:

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

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

null値は受け入れません。この問題を解決するには?

+2

Trailerは構造体かクラスですか? –

+1

'Trailer'は' struct'だと思いますか?構造体は 'null 'にはできません。 'null'値を代入する必要がある場合は、型を' struct'から 'class' *に変更するか、宣言された型を' Trailer'から 'Trailer?'または 'Nullable 'に変更してください。 – Michael

+0

予告編はクラス –

答えて

1

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

temptrailernullであれば基本的に、あなたはそれ以外の場合はtemptrailernullを割り当てるされています。また、単にちょうど同じことを達成するために、次の文を書くことができ:

entity.TempTrailer = temptrailer; 

にもかかわらず、あなたが条件演算子(?:)を使用して値を割り当てたい場合は、あなたがnullを「キャスト」することができます

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

コードが機能していません。 デバッグでは実際には機能していません なぜ私はわかりません –

+1

そのステートメントの後で、 'entity.TempTrailer'がヌルではない、あるいはあなたがデータベースはnullではありませんか?問題が「働いていない」のではなく、何をしているかを明示してください。 –

+0

DBのTempTrailerの値を変更する必要があります。 たとえば、TractorにはTempTrailerがあります。 DB内に、テーブルトラクターにTempTrailer_IDがあります。 このTempTrailer_Idをクリアする必要があります。この値はクリアされています。 –

関連する問題