2016-11-17 7 views
0

私はモデルを生成するためにEntity Frameworkを使用していますが、モデル自体の生成は成功していますが、データベースを照会するときに次のエラーが発生します。例外がスローされますEntity Frameworkを使用した列名が無効

無効な列名「EmployeeDealer_EmployeeDealerID」

コードは次のとおりです。

var employee = db.Employees.Where(emp => emp.EmployeeID == employeeId).FirstOrDefault(); 

は、それはすべてがそう、私はEFができていないと仮定していますかなりstraightfowardに見えます適切なキーまたはORMクラスを生成しますか?

関連テーブルのDBスキーマを示します。

DB Schema

これを解決する方法上の任意の助けいただければ幸いです。

+0

DBに送信されているクエリは何ですか?あなたのクラスはどのように見えますか?データ注釈やFluent APIのマッピングはどのようなものですか? –

+0

良い点 - 生成されたクエリの[https://gist.github.com/serdar/c74cd441fb757d5a4bf00a2d183cd6f7](Gist Link)です。存在しない列が生成されています。 –

+0

マッピングクラスを含めて生成されたクラスは、ここにあります[https://gist.github.com/serdar/26f61a9405458252adee18ddede9c5d7] –

答えて

0

修正されたクラスを変更して解決しました。 従業員クラスのコンストラクタの中で私は、次の文削除:

this.Employees = new List<Employee>(); 

をしても、私は、コンストラクタから削除EmployeeDealerクラスに再び

public virtual ICollection<Employee> Employees { get; set; } 

そして、次のプロパティを削除:

this.Employees = new List<Employee>(); 

また、特性

public virtual ICollection<Employee> Employees { get; set; } 

だから私は、問題は、あなたが他の二つのテーブル間の参照は(私はナビゲーションパスを仮定している)が生成されていることを確認する必要が多対多のテーブルの自動生成エンティティであると思います正しく

関連する問題