0

Visual Studio 2010 でデータセット テーブル アダプターを更新する必要があります。これはストアド プロシージャに基づいています。ストア プロシージャにはパラメータがあります

    @IDportfolio INT
,   @Date varchar(50)           = NULL
,   @IDorder int                = NULL
,   @IDsession nvarchar(300)    = NULL
,   @User varchar(100)          = NULL
,   @UDNsXML NVARCHAR(MAX)      = NULL
,   @DEBUG  INT                 = 0

テーブル アダプタには次のメソッドがありました。

Fill,GetData (@IDportfolio, @Date, @IDorder, @IDsession, @User, @UDN)

だから、それをリフレッシュする必要がありました。プロシージャには、@DEBUG が 1 に設定されている場合にのみ実行される IF ステートメントが 1 つあります。この IF ステートメント内には、内部デバッグに使用される SELECT ステートメントがいくつかあります。署名に見られるように、値 1 は明らかにデフォルト値ではありませんが、デザイナーは、メソッドを更新するときに、@DEBUG パラメーターに値 1 を送信しているように動作します。したがって、返すべき値を返す代わりに、間違った値のセットを返し、デザイナーはこれらの返された値に基づいてメソッドを作成しようとします。

なぜデザイナはそのように動作し、INT パラメータにデフォルト値があるのでしょうか、それともデフォルト値を無視していますか? Entity Framework でも同様の動作に気付きました。

4

1 に答える 1