MVC5アプリケーションでエンティティフレームワークバージョン6を使用しています。 Iデータモデル(.edmx)は2つのエンティティユーザーとユーザーと役割データベースで私のテーブルに対応する役割が含まれています。エンティティフレームワーク6が外部キー列をアンダースコアで追加しています
ユーザーテーブルには列が含まれています。id int型、名前:Idをint型、名前NVARCHAR(100)、RoleId intが(RoleIdがRoles.Idと外部キー制約を持っている)
役割テーブルには列が含まれていますnVarchar(100)
My Entityモデルは、テーブル構造ごとに正しいエンティティを生成しています。
ユーザーエンティティ(_db.Users.ToList())をDBコンテキストから照会すると、エンティティ・フレームワークはRoleId列の代わりにユーザー表のRole_Id列を探しているため、エラーが発生します。
エンティティのフレームワーククエリジェネレータがエンティティのクエリ中にRole_Idカラムを探しているのはなぜですか?
ありがとう、しかし私の質問は、なぜエンティティフレームワーククエリジェネレータがRole_Id列wh ileクエリエンティティ? –
これは、RoleIdが外部キーであることをEFが理解していないため、新しい外部キーフィールドを追加するために起こります。自動的に挿入された外部キーフィールドの名前を付けるためのEF規則はtablename_Idです。これはあなたが見ているものです。クラス定義コードを投稿すると、何が間違っているかを教えてくれます。 – spadelives