2011-06-28 12 views
0

linqを構築して、異なるフォーマットの2つのフィールドDateTimeとIntを1つの文字列に連結するSQL Serverのテーブルから値を取得しようとしています。つまり、concat DateTimeとlinq2sqlを使用した文字列へのintフィールド

また、フィールド(DateTimeとInt)のいずれか、またはその両方がnullの場合も同様です。私は何か他のことをする必要がありますか?すべて

+0

を試すことができますが、私はこれらのフィールドはnullになることを私のDBに定義した場合、私がチェックする場合は、いくつかの三元を使用することができます両方がnullでない場合にのみ連結を試みますか? 両方のフィールドがnullでない場合でもエラーが発生します。私は彼らが価値があることを意味します。 – Varois

答えて

0

ありがとうDateTimeFieldCod_filed両方がNullableある場合、あなたは

var result = from a in db.tbTable 
      select new 
        { 
         a.field1, 
         Description = a.DateTimeField.HasValue 
             ? a.DateTimeField.Value.ToShortDateString() 
             : string.Empty + " - " 
             + a.Cod_filed ?? string.Empty 
        }; 
+0

でも、これは動作しません: 'VAR結果= db.tbTableで新しい { a.field1、 説明= a.DateTimeField.HasValue を選択 から? a.DateTimeField.Value.ToShortDateString() :string.Empty} ' エラー:式 – Varois

+0

を変換できません@Varois 'これは機能しません'とはどういう意味ですか?あなたは例外+例外メッセージを投稿できますか? –

+0

式を変換できません。テーブル(tbLoteAlojado).Where(a =>(a.Data_Alojamento!= null))選択(a => new <> f__AnonymousTyped8'2(Num_Lote_Alojado = a.Num_Lote_Alojado、Descricao = IIF( SQLではa.Data_Alojamento.Value.ToShortDateString()、Invoke(System.Func'1 [System.String])))))) 'を呼び出すように変換してください。ローカル式。 – Varois

関連する問題