0

こんにちは、これは私が持っている SP です。

  USE [Tracker_Entities]

  SET ANSI_NULLS ON
  GO

  SET QUOTED_IDENTIFIER ON
  GO

  CREATE PROCEDURE [dbo].[uspHub]

  @id int
  AS
  BEGIN

  SELECT DISTINCT table1.UID, table1.url, Scope.ID
  FROM         table1 INNER JOIN
            Scope ON table1.UID = Scope.newBrand
  WHERE     (table1.value = 0) AND (Scope.ID = @id)
  ORDER BY table1.url
  END

  GO

パラメータとしてIDを渡してSQLサーバーでこのSPを実行すると、期待される結果が得られます。ここで、mvc でこの SP を確認する必要があります。これは、MVC でこの SP を呼び出す方法です。

using (var ctx = new database_Entities())
        {
            int ID = 122;
            ctx.uspHub(ID);

            ctx.SaveChanges();

        }

しかし、ステートメントを使用してブレークポイントを配置し、結果を確認すると、結果が表示されません。私はここで長い間苦労していますが、これに対する適切な解決策が得られていません。selectステートメントを持つSPの結果を確認するためのMVCの手順は何ですか??

更新: tolistを使用した後、これに対する解決策を得ました。現在、リストに 3 つの結果が表示されています。URL である 1 つの結果を取得し、それを入力パラメーターとして渡す必要があります。私のコード: int ID = 413; var x = ctx.uspdHub(ID).ToList();

ここで x には 3 つの結果があります。そこから 1 つの結果を取得する必要があります。x を実行してみました。しかし、ドットを入力しても結果が表示されません。どうすればこれを達成できますか??

4

3 に答える 3

0

次のようなものを使用してみてください。

using (var dataContext= new database_Entities())
        {
            int ID = 122;
            SomeEntity[] result = dataContext.Database.SqlQuery<SomeEntity>("[dbo].[uspHub] @id",new SqlParameter("@id", ID)).ToArray();
        }

それは私にとって良いことです。ORM EntityFramework を使用して DB に接続しました。

于 2013-09-25T10:21:06.440 に答える