2016-08-10 15 views
1

EF6を使用してデータベースを更新し、最初の移行をコード化しようとしています。移行Aはすべてのステップを通過し、最後に到達するとトレースします。しかし、それは、このエラーでアウト:EFコードの最初の移行に失敗しました。

System.Data.SqlClient.SqlException (0x80131904): Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression. 

移行Bにも開始されていない、そしてデータベースを見たときに、移行Aがコミットされていません。

他のお客様の99%が問題なく移行しているため、この1つのデータベースにも影響しているようです。私たちはSQL2008 & 2014も同じ結果を試しました。 dbモデルは、C#、.NET 4.6、およびEF6.1.3で記述されています。

+0

移行スクリプトを直接実行すると機能しますか?その場合は、移行履歴が破損する可能性があります。 – stuartd

+1

コード例をご覧ください。 –

+0

1つの特定のデータベースでのみ発生した場合は、そこにデータエラーがあります。いくつかの制約が満たされていない。フォームにこの質問をすることはできません。 –

答えて

1

コメントに@ stuartdのアドバイスを入れて、私はSQLスクリプトへの移行を出力し、サーバー上で実行しました。これにより、移行が失敗した原因が分離されました。コード内の正確な行でエラーが発生しなかったのは、移行がトランザクション内で行われるためです。

関連する問題