2016-07-19 11 views
-1

私は、どのレベルのデータを出力するかを切り替えることができる柔軟なプロジェクトを構築しようとしています。私はデータとヘッダー(会社、URL、国)の私の基本的なパッケージを出力するLinqクエリを持っています。デリケートなデータパッケージ(住所、収入範囲、CompanyAge)を持っているとします。私の最終目標は、SQLテーブルのIsDeluxeフィールドが真である場合に、デラックスヘッダを追加し、基本フィールドに加えてデラックスデータを出力するようにトグルを実装することです。これまでのところ私は何かしている:しかし、私のIF条件は、私のSQL列を認識しませんLINQの条件付きIFステートメント

var dataPackage = from c in db.company select new { c }; 

if(IsClientDeluxe == true) 
    { 
    HeaderRow.Add(String.Format("{0}", "Address")); 
    HeaderRow.Add(String.Format("{0}", "Revenue Range")); 
    HeaderRow.Add(String.Format("{0}", "Company Age")); 
    } 

var results = dataPackage.ToList() 

を、私は適切な行にデータを書き込む方法は考えています。どんな助けもありがとうございます、事前に感謝します!

+0

にあなたは何の列をしようとしていることを表現するために非常に簡単にすることができdb.companyからアクセスするには? – konkked

+0

IsClientDeluxe == trueの場合、データの基本層(会社、URL、国)の最初の3つと、デラックス層(住所、復帰範囲、企業年齢)の次の3つ –

答えて

0

すべてが有効な追加ヘッダーを含む要素であるとは思いませんか?

var dataPackage = from c in db.company select new { 
       c.IsDeluxe, 
       c.Address, 
       c.RevenueRange, 
       c.CompanyAge }; 


var actualItems = new List<SomeObject>(); 

foreach(var item in dataPackage) 
{ 
    var addingItem = new SomeObject(); 

    if(item.IsDeluxe) 
    { 
     //Initialize some object one way 
    } 
    else 
    { 
     //Initialize some object another way 
    } 

    actualItems.Add(adding); 

} 

ちょうどあなたのためにデータを取得するためにLINQのツーSQLを使用して、より複雑な意思決定をしなければならないときに、通常のC#の