我通常使用linq to sql和 IQueryable 或 IEnumerable 来获取这样的数据:
public static IQueryable getSomething()
{
var getit = from d in database.table select d;
return getit;
}
并且它工作正常,但我试图像这样使用select new:
public static IQueryable getSomething()
{
var getit = from d in database.table select new
{
value1 = d.1,
value2 = d.2
};
return getit;
}
这是示例代码,而不是实际代码。
但那不起作用,我该怎么做?
感谢
答案 0 :(得分:1)
您不能在C#中键入任何方法作为匿名类型的显式类型。它们不能被“命名”,因此不能出现在元数据签名中。
https://stackoverflow.com/a/1070564/971839
首先,您需要创建一个类,
public class MyClass
{
public string Property1{get;set;}
public string Property2{ get; set; }
}
然后用,
替换你的方法public static IEnumerable<MyClass> getSomething()
{
var getit = from d in database.table select new
MyClass {
Property1 = d.1,
Property2 = d.2
};
return getit;
}