linq to sql using select new inside class file

2019-09-20 06:10发布

I usually use linq to sql with an IQueryable or IEnumerable to get data like this:

    public static IQueryable getSomething() 
    {
        var getit = from d in database.table select d;

        return getit;
    }

and it works fine but i am trying to use select new with it like this:

    public static IQueryable getSomething() 
    {
       var getit = from d in database.table select new 
       { 
          value1 = d.1,
          value2 = d.2
       };

    return getit;
}

this is a sample code and not the actual code.

but that wont work, how do i do this?

thanks

1条回答
来,给爷笑一个
2楼-- · 2019-09-20 06:45

You cannot type any method in C# to be the explicit type of an anonymous types. They cannot be "named" so to speak and hence cannot appear in metadata signatures.

https://stackoverflow.com/a/1070564/971839

First, You need to create a class like,

public class MyClass
    {

        public string Property1{get;set;}
        public string Property2{ get; set; }
    }

Then Replace Your Method with,

public static IEnumerable<MyClass> getSomething() 
        {
           var getit = from d in database.table select new 
          MyClass  { 
              Property1 = d.1,
              Property2 = d.2
                   };

        return getit;
    }
查看更多
登录 后发表回答