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 でも同様の動作に気付きました。