2012-03-14 8 views
3

私は戻り値の型を理解しようとしています。 ToList()はListを返しますが、どのタイプがわからないようです。このLinqで返されるデータ型は何ですか?

var id = (from h in db.t_ref_harvest_type 
        where h.manner_of_take_id == methodOfTakeId && 
       parsedSeasons.Contains((int)h.season) && h.active == true 
        select new { h.id, h.harvest_type }).ToList(); 

答えて

5

これは、匿名タイプの一覧はIDを持つと、その中にプロパティとして入力されて返されます。

あなたが書くときlinqクエリで新規を選択すると、select new {}に指定したプロパティで匿名タイプが作成されます。

enter image description here

全aritlce:SQL to LINQ (Visual Representation)

EDIT

@KeelRisk - あなただけのクエリを変更よりIDを返すようにしたい場合は...メソッドから匿名型のリストを返すことはできません。 "List<int> lstid= (.....Select h.id).ToList<int>();"を選択し、lstidを返すよりも...

List<int> lstid = (from h in db.t_ref_harvest_type     
where h.manner_of_take_id == methodOfTakeId && parsedSeasons.Contains((int)h.season) 
&& h.active == true     
select h.id).ToList(); 
+0

それでは、私のメソッドでどのような型を返すべきですか? var idを返すだけです。または、匿名型のリストを返すにはどうすればいいですか? – KeelRisk

+0

@KeelRisk - メソッドから匿名型のリストを返すことはできません...あなたが単にリストを変更するよりもidを返すだけなら "List lstid =(..... Select h.id).ToList () ; "返すlstidよりも。あなたにする –

+0

私は結果とidsを取り出してループする必要があると思います。ありがとう – KeelRisk

関連する問題