2016-07-17 14 views
0

私はAngularjsフロントエンドとWeb APIバックエンドを持っています。Web APIエラー500からメソッド

リストが存在しない場合に返されるオブジェクトはlist.Noの問題が含まれているとき、私は、メソッドからのエラー500を取得しています:

私はこのようなオブジェクトを返す場合はエラーがない:

var myObj = new { name1 = value1, name2 = value2}; 
return myObj; 

しかし、私が得た次のとエラー500:用

var q = from p in db.SomeThing select p; 
var MyObj = new { name1 = value1, name2 = value2, name3 = q.ToList()}; 

いくつかのエラー500:

var q = from p in db.SomeThing select p; 
var MyObj = new { name1 = value1, name2 = value2, name3 = q}; 

何が間違っている可能性がありますか?

答えて

2

db.SomeThingから返されたエンティティには、シリアル化中に例外が発生するナビゲーションプロパティがあります。 pの代わりに匿名のオブジェクトを選択し、問題が解決するかどうか確認してください。

var q = from p in db.SomeThing 
     select new { 
      property1 = p.property1, 
      property2 = p.property2, 
      //other properties 
     }; 
+0

それはまさに問題でした。ありがとうございました ! – GCoe

+0

喜んで助けてください。ハッピーコーディング!!! – Nkosi

-1

エラーはLINQクエリにあります。コードではありません。デバッグ/例外を選択し、項目[] Common language runtimeをチェックして、ブレークポイントを有効にする必要があります。プログラムが例外をスローすると、例外行で破損します。あなたはあなたのクエリを修正する方法を知っているでしょう。 ここに例外を掲載することができます。

ハッピーコーディング。

+0

こんにちは、コードの流れはエラーなしです...私は、name3の結果が返されたオブジェクトにある場合のみエラー500を受け取ります。 – GCoe

+0

例外を送信できますか?それは詳細にする必要があります - name3のようなシリアル化することはできません。 –

+0

こんにちは、Nkosiの回答をご覧ください。この問題は、匿名オブジェクトを返すことで解決されました。ありがとうございました。 – GCoe

関連する問題