使用select new inside class文件linq to sql

时间:2013-01-02 22:12:51

标签: asp.net linq-to-sql

我通常使用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;
}
  

这是示例代码,而不是实际代码。

但那不起作用,我该怎么做?

感谢

1 个答案:

答案 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;
    }