2017-08-31 21 views
0

私はこのLINQのはより効率的なLINQの式

var NewQuote = (from qw in Q 
         join NW in NewNotes on qw.RECID equals NW.RECID into temp 
         from j in temp 
         select new Quotes 
         { 
          QuoteNumber = qw.QuoteNumber, 
          CustPartNumber = qw.CustPartNumber, 
          ITEMGROUPID = qw.ITEMGROUPID, 
          LotSize = qw.LotSize, 
          EAU = qw.EAU, 
          CONTACTPERSONID = qw.CONTACTPERSONID, 
          QUOTATIONSTATUS = qw.QUOTATIONSTATUS, 
          QUOTESENTDATE = qw.QUOTESENTDATE, 
          PricePerPiece = qw.PricePerPiece, 
          QuoteValue = qw.QuoteValue, 
          Email = qw.Email, 
          RECID = qw.RECID, 
          Notes = j == null ? "" : j.NOTES 
         }).ToList(); 

Qが引用クラスのある参加持っているが、私はNewNotesからNotesフィールドにデータを追加する必要があります。 Quoteクラスのすべてのフィールドをリストするよりも、これを行うより良い方法はありますか?見積もりにフィールドを追加する必要がある場合は、このセクションのコードにアクセスして更新する必要があります。

+2

"効率的"とは、「タイピングが少ない」という意味ですか? –

+0

はい。これに加えて、簡単に隠された "つかみ"になることができます。より良い方法があるかどうかを見てみましょう。 – Anthony

+1

これをより効率的にする1つの方法は、命名規則の使用を開始することです –

答えて

2

なぜ1つのプロパティーを更新したい場合は、Quotesという新しいインスタンスを作成するのですか?

var query = from qw in Q join NW in NewNotes 
      on qw.RECID equals NW.RECID into temp 
      from j in temp 
      select new { Quote = qw, Notes = j?.Notes ?? "" }; 

foreach(var x in query) 
{ 
    x.Quote.Notes = x.Notes; 
} 
関連する問題