2016-04-27 22 views
0

データベーステーブル 'Table1'に 'Column1'、 'C​​olumn2'、 'C​​olumn3'という列があります。テーブルのデータを行の配列として取得するC#entityframework

基本エンティティフレームワークコードを使用してIEnumerable<Table1>を取得できます。

しかし、私は私のデータ形式を以下にあるように、アプリケーション層に送られたい。..

var data = [[ 'Column1', 'Column2', 'Column3'], 
[Column1-Row1-Value,Column2-Row1-Value, Column3-Row1-Value], 
[Column1-Row2-Value,Column2-Row2-Value, Column3-Row2-Value], 
[Column1-Row3-Value,Column2-Row3-Value, Column3-Row3-Value]] 

すべてのヘルプは心から感謝しています。それを行うには

おかげ

+0

は、JArray – Arnab

答えて

0

easist方法はただIEnumerable<T>に取る関数を記述し、必要なデータを出力しています。 VARのデータ型@Scott

public void Example() 
{ 
    var myEfModel = GetEFData(); 
    object[][] result = ConvertToArrayFormat(myEfModel, row => new object[] {row.Column1, row.Column2, row.Column3}, new object[] {"Column1", "Column2", "Column3"}); 
} 

public object[][] ConvertToArrayFormat<T>(IEnumerable<T> dataSource, Func<T, object[]> rowSelector, object[] header = null) 
{ 
    var result = new List<object[]>(); 
    if(header != null) 
     result.Add(header); 

    foreach (var item in dataSource) 
    { 
     var row = rowSelector(item); 
     result.Add(row); 
    } 

    return result.ToArray(); 
} 
+0

のTxである、それは私が何をしますか、JArrayに結果オブジェクトを変換したい場合にも、カラム名ではないハードコードに対する実行可能ですか? – Arnab

+0

JArrayに変換する方法が見つかりました。JArray a =(JArray)JToken.FromObject(result); – Arnab

関連する問題