2017-07-17 13 views
0

Getメソッドでを選択します。ID 4の顧客を検索すると、すべてのレコードではなく最初のレコードが表示されるので、ここでは私のメソッドです。簡単にmvcサービスを使用しています。Asp.net web API

#FirstOrDefaultオプションのために最初のレコードしか表示されないと思いますが、どのクエリを使用する必要がありますか他のオプションを教えてもらえますか?名前が示すように

` public sales_order Get(int id) 
    { 
     using (project_smartEntities entities = new project_smartEntities()) 
     { 
      entities.Configuration.ProxyCreationEnabled = false; 
      return entities.sales_orders.FirstOrDefault(e => e.customer_id == id); 
     } 


    }` 
+0

public IEnumerable<sales_order> Get(int id) 

そう...あなたが期待する(IEnumerable<>だけで、多くの場合、最も簡単な場合、またはその他の適用コレクション型。。):代わりに、単一のオブジェクトの、これももちろんメソッドの戻り値の型を変更する必要でしょうそこに複数の一致するレコードがあり、それらをすべて返す必要がありますか? – David

+1

こんにちは、スタックオーバーフローを歓迎します。[最小限で完全で検証可能な例](https://stackoverflow.com/help/mcve)の作成方法と[よくある質問を表示する方法](https:///stackoverflow.com/help/how-to-ask)ので、フィードバックや役に立つ回答を得る機会が増えます。 – DarkCygnus

答えて

0

は、.FirstOrDefault()(またはデフォルト)合致するレコードを返します。 (参照型の場合、デフォルトはnullです。)あなたは、クエリに一致する多くのレコードを検索したい場合は、あなたが使用したいSQL-適切な名前の代わりに.Where()を:

return entities.sales_orders.Where(e => e.customer_id == id); 

これは、オブジェクトのコレクションを返しますので、

+0

"'ObjectContent'1'タイプは、コンテンツタイプ 'application/json; charset = utf-8'のレスポンスボディをシリアル化できませんでした。このエラーが返されます –

+0

@RafiaZaheer:直列化エラーの詳細を内部例外がありますか? – David