【解決方法】 1 つ以上のエンティティの検証に失敗しました。 詳細については、entityvalidationerrors プロパティを参照してください。


1 つ以上のエンティティの検証に失敗しました。 詳細については、entityvalidationerrors プロパティを参照してください。

[edit]SHOUTING を削除しました – OriginalGriff[/edit]

解決策 1

以下に示すように、例外ハンドラーを使用して詳細なエラー情報を取得します。

C#
try
{
    // Your code...
    // Could also be before try if you know the exception occurs in SaveChanges

    context.SaveChanges();
}
catch (DbEntityValidationException e)
{
    foreach (var eve in e.EntityValidationErrors)
    {
        Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
            eve.Entry.Entity.GetType().Name, eve.Entry.State);
        foreach (var ve in eve.ValidationErrors)
        {
            Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                ve.PropertyName, ve.ErrorMessage);
        }
    }
    throw;
}

解決策 5

C#
try
{
    // Your code...
    // Could also be before try if you know the exception occurs in SaveChanges

    context.SaveChanges();
}
catch (DbEntityValidationException e)
{
    foreach (var eve in e.EntityValidationErrors)
    {
        Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
            eve.Entry.Entity.GetType().Name, eve.Entry.State);
        foreach (var ve in eve.ValidationErrors)
        {
            Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                ve.PropertyName, ve.ErrorMessage);
        }
    }
    throw;
}

– -と – –

引用:

エラー: 1 つ以上のエンティティの検証に失敗しました。 詳細については、「EntityValidationErrors」プロパティを参照してください。

C#
public partial class ContactDetail
    {
        [StringLength(10)]
        public string OfficeEmail { get; set; }
    }

解決策: データベースの SET フィールド名または長さに従ってデータ モデルを修正します。

C#
public partial class ContactDetail
    {
        [StringLength(50)]
        public string OfficeEmail { get; set; }
    }

解決策 6

上記のすべての良い提案。 実際、上記の Yogeesha の catch ブロックを使用して問題を解決しました。 このエラーが再び発生する可能性があるため、このエラーを頭の中でファイルしておくことが重要な場合があります。 私にとっては、NOT NULL 宣言を持つテーブル フィールドに null 値を渡していました。 したがって、実際には、テーブル フィールドを確認していれば、これを解決できたはずです。

コメント

タイトルとURLをコピーしました