2016-07-02 6 views
1

私はEntity Frameworkを使用してdbデータを取得しています。私は以下のようにJSON形式のテーブルデータを返すアクションを書いています:エンティティフレームワークがエラーをスローしています。 "式を評価できません。操作がサポートされていません。不明なエラー:0x80070057。"

public JsonResult GetEmployeesData() 
{ 
    using (TrainingDBEntities db = new TrainingDBEntities()) 
    { 
      return new JsonResult { Data = db.Employees, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; 
    } 
} 

これは例外ではありません。しかしコンソールエラーはエラーコードで発生している:

Unable to evaluate the expression. Operation not supported. Unknown error: 0x80070057

私は持っていない:私はデバッグすると500は、それは私がリロードしようとすると、新しいエラーが発生したエラー

The function evaluation requires all threads to run

を示しました。どのようなアイデアをこのコードで間違っている?

+3

あなたは完全な例外テキストを共有できますか?スタックトレース?とにかく、私はそれがEFの怠惰な読み込みに関連する問題だと思います。では、Data = db.EmployeesをData = db.Employees.ToList()に置き換えてEFにエンティティを強制的にロードさせてみてください。 – khlr

答えて

2

解決策は以下のとおりです。

public JsonResult GetEmployeesData() 
{ 
    using (TrainingDBEntities db = new TrainingDBEntities()) 
    { 
      var emps = db.Employees.ToList(); 
      return new JsonResult { Data = emps, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; 
    } 
} 

私がするJsonResult {}内のDBアクセスが問題を引き起こしていると思います。

関連する問題