2

以前、このプロジェクトをEntityFrameworkとMicrosoftSQLServer2008で問題なく実行しました。ID2つの単純な列(と)を持つテーブルがありましたName。私はそれらをaにバインドしましたが、、、またはでDataGridView問題はありませんでした。InsertUpdateDelete

今、私は同じことをしようとしましたが、今回は自動インクリメント列と外部キーを備えた2つの非常に複雑なテーブルを使用しました。

挿入された情報をデータベースに保存しようとすると、次の例外が発生しました。

エントリの更新中にエラーが発生しました。詳細については、内部例外を参照してください。

内部例外:文字列またはバイナリデータは切り捨てられます。ステートメントは終了されました。

ほぼ10回停止して再実行した後、プロジェクトエラーは何も変更せずに消えました。このエラーは何のためにありましたか?そして、なぜ私が何も変更せずにそれがなくなったのですか?

理由もなくランダムな例外をスローし、しばらくしてそれらの例外のスローを停止したい場合、EntityFrameworkを信頼することはできません。

4

2 に答える 2

1

通常、このエラーは、指定されたデータ長がデータベースフィールドで指定された長さよりも長い場合に発生します。

データベースフィールドの長さが入力データを収容するのに十分であることを確認してください。

于 2019-06-18T17:44:56.850 に答える
0

私はこれにコメントしたでしょうが、私はコメントするのに十分な評判がありません。私はこの同じエラーで立ち往生しました。この答えを見た後、私が間違っている場所をすばやく見つけるために私がしたことは私の使用です。

PM> update-database -force -Verbose

Verbose Tagは、AutomaticMigrations用に生成されたSQLを確認します。

お役に立てれば。

于 2013-08-06T22:43:12.693 に答える