-1

データベースに接続してデータを抽出する機能があります。

データは Expando オブジェクトに返されます。

私は通常、expando オブジェクトをクラスに変換します。動的行に linq ステートメントを使用しますが、SQL コードにすべてのフィールドを持つクラスがあるかどうか疑問に思っていました。システムがそれぞれに自動的にマップする方法はありますか?私のクラスのフィールド?

いえ

public List<CLIENTALL> FullTableClients()
{
  const string abstractStatement =@"SELECT * FROM CLIENT WHERE CLINO = '0000001'";

  var sqlStatement = new SqlStatements(abstractStatement, _reportingBackOffice.GenerateTables);

  var data = _reportingBackOffice.ExecuteQuery(sqlStatement);

  var name = (from dynamic line in dataArray
              select new CLIENTALL()
              {
                ClientNumber = line.?????
                //normally I would write line.ClientNumber
                }).ToList();

  return name;
}

上記のように、クラス内のフィールド名をほぼ参照し、行から割り当てるときにそれを変数として使用する方法が必要ですか?

ありがとう、

デビッド

4

1 に答える 1

0

linq2SQL データコンテキストがある場合は、次のように記述できます。

const string abstractStatement = @"SELECT * FROM CLIENT WHERE CLINO = '0000001'";
using (var db = new MyDataContext())
  var col = db.ExecuteQuery<CLIENTALL>(abstractStatement).ToList();

SQL ステートメントの列をプロパティにマップします。CLIENTALL

于 2013-03-18T15:22:27.103 に答える