[英]How can I return an anonymous type from a method?
我有一個Linq查詢,我想從多個地方調用:
var myData = from a in db.MyTable
where a.MyValue == "A"
select new {
a.Key,
a.MyValue
};
如何創建方法,將此代碼放入其中,然后調用它?
public ??? GetSomeData()
{
// my Linq query
}
IQueryable和IEnumerable都有效。 但是您想使用特定於類型的版本,IQueryable <
T >
或IEnumerable <
T >
。
因此,您需要創建一個類型來保存數據。
var myData = from a in db.MyTable
where a.MyValue == "A"
select new MyType
{
Key = a.Key,
Value = a.MyValue
};
通用方法應該給你智能感知:
public class MyType {Key{get;set;} Value{get;set}}
public IQueryable<T> GetSomeData<T>() where T : MyType, new()
{ return from a in db.MyTable
where a.MyValue == "A"
select new T {Key=a.Key,Value=a.MyValue};
}
如果要返回,則需要一個類型。
而不是var
,使用IEnumerable<>
聲明並返回該變量。 迭代它實際上執行查詢。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.