編集:投稿を更新しましたが、これについてはまだ助けが必要です。
質問は、正しい ID でユーザーを追加しないのはなぜですか?
私は WebAPI を使用していますが、Fiddler 経由で POST リクエストを行うたびに、間違った ID を持つユーザーが追加されます。
Entity Framework で POCO クラス (ユーザー) の ID を自動生成してインクリメントしましたが、ID 1 のユーザーを追加する代わりに、データベースにユーザーが既に存在する場合に機能し、ID のユーザーを作成するだけです。インスタンス 16。
Visual Studio のサーバー エクスプローラーでテーブルを確認したところ、テーブルを右クリックして [テーブル データの表示] を選択しましたが、何も表示されませんでした。
ソリューションをクリーンアップして再構築しようとしましたが、テーブルにユーザーがいるかどうかを確認しましたが、ユーザーはいませんでした。
これは、Web.config ファイルの接続文字列です。
<add name="ConnectoDbContext" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDB)\v11.0;Initial Catalog=CONNECTO_f8dc97e46f8b49c2b825439607e89b59;Integrated Security=True;AttachDbFilename=|DataDirectory|\Connecto.mdf" />
新しい DB には Code First アプローチを使用しました。
また、Microsoft SQL Server 2012、SQL Server Management Studio を確認したところ、CWS.Models.ConnectoDbContext という名前の DB が表示されるため、同じものであると想定しています。ただし、矛盾が発生したことを認めなければなりません。ソリューションにテーブルがなくなったにもかかわらず、古いテーブルが含まれることがあります。
SQL Server Management Studio で、UserId が ID 列であることを確認しました。Visual Studio で UserId 列も確認したところ、Is Identity: True
.
DBCC CHECKIDENT ("[User]", NORESEED);
Visual Studio と SQL Server Management Studio の両方で以下を実行しました。
SQL Server Management Studio は次を返します。
Checking identity information: current identity value 'NULL', current column value 'NULL'. DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Visual Studio は次を返します。
Checking identity information: current identity value '16', current column value 'NULL'. DBCC execution completed. If DBCC printed error messages, contact your system administrator.
どちらも異なるものを返しているため、「接続」されていないと思われます。同じDBではありませんか?
どんな助けでも大歓迎です
/2回