-1

私は通常、次のようなデータを取得するためにIQueryableまたはIEnumerableを使用して linq to sql を使用します。

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

これはサンプル コードであり、実際のコードではありません。

しかし、それはうまくいきません。どうすればいいですか?

ありがとう

4

1 に答える 1

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;
    }
于 2013-01-02T22:24:21.793 に答える