1
var Data = from z in initialData
           select new
           {
              z.ID,
              z.Value = (z.Col1 != null)? z.Col1 : z.Col2
           };

このクエリを動的な linq 式に変換するにはどうすればよいですか? これは可能ですか?

4

2 に答える 2

0

これを試して ください http://msdn.microsoft.com/en-us/library/bb345303.aspx

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    // Call the constructor with a query for products and the ObjectContext.
    ObjectQuery<Product> productQuery1 =
        new ObjectQuery<Product>("Products", context);

    foreach (Product result in productQuery1)
        Console.WriteLine("Product Name: {0}", result.Name);

    string queryString =
        @"SELECT VALUE product FROM AdventureWorksEntities.Products AS product";

    // Call the constructor with the specified query and the ObjectContext.
    ObjectQuery<Product> productQuery2 =
        new ObjectQuery<Product>(queryString, context);

    foreach (Product result in productQuery2)
        Console.WriteLine("Product Name: {0}", result.Name);

    // Call the constructor with the specified query, the ObjectContext,  // and the NoTracking merge option.
    ObjectQuery<Product> productQuery3 =
        new ObjectQuery<Product>(queryString,
            context, MergeOption.NoTracking);

    foreach (Product result in productQuery3)
        Console.WriteLine("Product Name: {0}", result.Name);
}

あなたはこのセクションを見てみるかもしれません

string queryString =
    @"SELECT VALUE product FROM AdventureWorksEntities.Products AS product";

// Call the constructor with the specified query and the ObjectContext.
ObjectQuery<Product> productQuery2 =
    new ObjectQuery<Product>(queryString, context);

foreach (Product result in productQuery2)
    Console.WriteLine("Product Name: {0}", result.Name);

うまくいく場合は、回答済みとしてマークすることを忘れないでください。

于 2012-11-15T11:44:34.857 に答える
-1

匿名型のメンバー名がありません。私の答えに含まれています:

var Data = initialData.Select(x => new 
                           { 
                               ID = x.ID, 
                               Value = (x.Col1 == null)? x.Col1 : x.Col2
                           });

編集:気にしないで、質問を誤解してください。

于 2012-11-15T11:26:31.323 に答える