2017-05-08 6 views
2

私はそれが前に尋ねられたような類似の質問はほとんど知りません。しかし、私の質問は少し異なります。あなたが見ることができるように文字列またはバイナリデータは切り捨てられます。ステートメントが終了しました - どの正確な挿入ステートメントを見つける方法?

 using (DBWebEntities db = new DBWebEntities()) 
      { 
       if (StatusDict != null && StatusDict.Count > 0) 
       { 
        foreach (KeyValuePair<string, job_status> kvp in JobStatusDict) 
        { db.AddToEmp_status(kvp.Value); } 

        db.SaveChanges(); 
       } 
      } 

、私は最後に、すべてのINSERTクエリのために一緒に()db.saveChangesを実行しています - 私はこのようなコードブロックを持っています。 いくつかのエンティティの例外が発生しています。 エンティティの値に対して、例外から起こったことを正確に把握するにはどうすればよいでしょうか?

私はinnerexceptionをチェックしたので、スタックトレースはこれを引き起こしたエンティティではありませんでした。

私はあなたが元に比べて次の

catch (DbEntityValidationException ex) 
      { 

ホバーを行うことができます.NET 4.

+0

内部例外を参照してください – CodingYoshi

+0

Umm ...例外には、間違っていない場合は失敗したエンティティエントリのリストも含まれています...(これはDbUpdateExceptionです、右ですか?) – elgonzo

+0

は既に内部例外をチェックしています。それはそれを引き起こした実体ではなく、スタックトレースを示しています。私は.NET 4を使用しています –

答えて

0

これを必要とする表を参照してください--to。 'ex' - > Expand System.Data.UpdateException - > 'State Entries'を展開すると、このエラーの原因となっているオブジェクトが表示されます。

1

を使用しています。 interrogate entityvalidationerrors、dbentityvalidationresult、Entry、Entity:dbとフィールド名に取得しようとしている値を表示します。

問い合わせentityvalidationerrors、dbentityvalidationresult、エントリは、エンティティは、あなたが、私は最終的にそれを発見する方法

+0

応答に感謝します。私はそれが動作するかどうかを確認し、あなたに知らせます。 –

関連する問題