WCFとEFを使用してSilverlightアプリケーションを開発しています。
私たちのデータベースはすでに存在するので、私は最初にデータベースを使用しています。
データ型が実数の100列で構成されるテーブルがあります。List<double>
各列のクラスに、またはList<float>
その代わりに100個の離散変数を持つクラスを生成します。
これは可能ですか?誰かが私に例を教えてもらえますか?
WCFとEFを使用してSilverlightアプリケーションを開発しています。
私たちのデータベースはすでに存在するので、私は最初にデータベースを使用しています。
データ型が実数の100列で構成されるテーブルがあります。List<double>
各列のクラスに、またはList<float>
その代わりに100個の離散変数を持つクラスを生成します。
これは可能ですか?誰かが私に例を教えてもらえますか?
直接的な方法はありません。あなたがしなければならないのは、リフレクションを使ってそれをに変換すること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);
}
}
あなたがアイデアを得ることを願っています。