0

WCFとEFを使用してSilverlightアプリケーションを開発しています。

私たちのデータベースはすでに存在するので、私は最初にデータベースを使用しています。

データ型が実数の100列で構成されるテーブルがあります。List<double>各列のクラスに、またはList<float>その代わりに100個の離散変数を持つクラスを生成します。

これは可能ですか?誰かが私に例を教えてもらえますか?

4

1 に答える 1

0

直接的な方法はありません。あなたがしなければならないのは、リフレクションを使ってそれをに変換することList<double>です。テーブル名がと呼ばれるとするとMyObject、EFはMyObjectそのテーブルの行を表すクラスを生成します。その後、次のことができます。

Type type = typeof(MyObject);
// Get properties (columns) through reflection 
PropertyInfo[] properties = type.GetProperties(); 
List<List<double>> allRows = new List<List<double>>();

using(var dbContext = MyDB.GetContext())
{
    foreach(var row in dbContext.MyRows)
    {
         List<double> columnValues = new List<double>();
         foreach (PropertyInfo property in properties)
         {
            // The sql type REAL will map to either float or double
            if(property.PropertyType == typeof(float)) 
            {
                 columnValues.Add( (double) property.GetValue(row, null) );
            }
         }
         allRows.Add(columnValues);
    }
}

あなたがアイデアを得ることを願っています。

于 2012-03-23T00:20:26.833 に答える