ADO.Net Entity Frameworkでストアドプロシジャを実行するには

2009年12月9日
  1. Visual Studioエンティティデザイナでコンテキストメニューを開いて、「データベースモデルからモデルを更新」を実行し、実行したいストアドプロシジャを追加する。
  2. モデルブラウザから「EntityContainer->関数インポート」上でコンテキストメニューを開いて、「関数インポートの作成」実行する。
  3. 「関数インポートの追加」ウィンドウが表示されるので、ストアドプロシジャ名を選択し、関数インポート名、戻り値の型を設定する。
  4. 関数インポートが追加される。
  5. Entity Clientを利用して、インポートした関数を実行する。

 using (EntityConnection conn =
    new EntityConnection(“name=AdventureWorksEntities”))
{
    conn.Open();
    try
    {
        // Create an EntityCommand.
        using (EntityCommand cmd = conn.CreateCommand())
        {
            cmd.CommandText = “AdventureWorksEntities.GetOrderDetails”;
            cmd.CommandType = CommandType.StoredProcedure;
            EntityParameter param = new EntityParameter();
            param.Value = “43659″;
            param.ParameterName = “SalesOrderHeaderId”;
            cmd.Parameters.Add(param);

            // Execute the command.
            using (EntityDataReader rdr =
                cmd.ExecuteReader(CommandBehavior.SequentialAccess))
            {
                // Read the results returned by the stored procedure.
                while (rdr.Read())
                {
                    Console.WriteLine(“Header#: {0} “ +
                    “Order#: {1} ProductID: {2} Quantity: {3} Price: {4}”,
                    rdr[0], rdr[1], rdr[2], rdr[3], rdr[4]);
                }
            }
        }
    }
    catch (EntityException ex)
    {
        Console.WriteLine(ex.ToString());
    }
    conn.Close();
}

コメントは受け付けていません。