2

私はこのようなことをする方法を探しています:

var  db = new DALEntities();
db.StoredProcedureToCall();

ただし、他のデータが配信されるまで、どの呼び出しを行うべきかわからないという点で、動的にしたいと思います。

var db = new DALEntities();
db[tSproc]();

switchステートメントでtSprocの値をテストしてから、上記のように呼び出すことができることはわかっていますが、もっと洗練された方法はありますか?

ありがとう

4

1 に答える 1

1

にカーソルを合わせてdb.StoredProcedureToCall()F12 を押します。EF によって生成されたコードが既に動的であることがわかります。

使用する EF のバージョンに応じて、次のようになります。

public ObjectResult<OrderDetail> GetDetailsForOrder
 (Nullable<global::System.Int32> orderid)
{
  ObjectParameter orderidParameter;
  if (orderid.HasValue)
  {
    orderidParameter = new ObjectParameter("orderid", orderid);
  }
  else
  {
    orderidParameter = new ObjectParameter("orderid", typeof(global::System.Int32));
  }
  return base.ExecuteFunction<OrderDetail>("GetDetailsForOrder", orderidParameter);
}

同様にコードを書くだけです。スイッチは必要ありません。

于 2012-06-13T20:43:09.477 に答える