トラブルシューティング「タイプ「モデル」のエンティティを添付する」エラーのasp.net mvc編集
asp.net MVCの「モデル名」タイプのエンティティを添付する」エラーが通常発生します。 このエラーメッセージは通常、主要なキーの不一致を示し、エンティティが既存のレコードの代わりに新しいものとして扱われることを示唆しています。 ソリューションには、エンティティフレームワーク内でエンティティの状態を正しく管理することが含まれます。
この問題は、編集中の編集中にしばしば表面化します。 エンティティは最初に取得され、「変更された」とマークされますが、その後のメソッド呼び出し(州の更新の前)は、同じエンティティを誤って削除して剥離する可能性があります。これを解決するための鍵は、国家を変更する前に意図しないエンティティの追跡を妨げることです。 Entity Frameworkの
メソッドは、ソリューションを提供しますここで問題を修正する方法を示し、変更されたAsNoTracking()
メソッド内で
AsNoTracking()
canUserAccessA
private bool canUserAccessA(int aID) { int userID = WebSecurity.GetUserId(User.Identity.Name); // Disable tracking to prevent state conflicts int aFound = db.Model.AsNoTracking().Where(x => x.aID == aID && x.UserID == userID).Count(); return (aFound > 0); }
状態の割り当てが正しく機能することが保証されます。
以上がasp.net mvc編集アクションで「型モデル名」のエンティティを添付する」のなぜ「failed」が発生するのか、どのように解決できるのですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。