2016-06-15 14 views
0

のためのLINQの式を作成します。 私はこのLINQクエリを持っているSELECT文

MORE CONTEXT:

我々は、Liを持っています

最初の呼び出しが戻る:お客様は、A、B、C、D、E、F、G

我々は時々だけでいくつかのプロパティを返すために必要な特性を有しているST <カスタマー>

select new {x.A, x.B} 

2番目の呼び出しは、返されます:

select new {x.C, x.D} 
リターンは動的です!私は文字列配列のプロパティの名前を持っています。

ありがとうございます!

+0

詳細を教えてください。問題はあまり明確ではありません。 –

+0

なぜEFにタグを付けるのですか?この場合、あなたはそれを使用していますか? – octavioccl

+0

こんにちは@YacoubMassad、私はLINQ式を作成する必要があるので、 "Select(linqExpression)"のような "Select"メソッドを呼び出すことができます – JaimeCamargo

答えて

0

取得するプロパティのCSVを仮定します。これを使用できるはずです。

public static class ObjectExtensions 
{ 
    public static Dictionary<string,object> GetProperties(this object obj, string properties) 
    { 
     var propertyNames = properties.Split(','); 
     var result = new Dictionary<string, object>(); 
     var type = obj.GetType(); 
     foreach (var property in propertyNames) 
     { 
      var prop = type.GetProperty(property); 
      var value = prop.GetValue(obj); 
      result.Add(property, value); 
     } 
     return result; 
    } 
} 

それは使用があろう辞書

のキー値ペアを格納します。

var result = list.Select(p => p.GetProperties("Field1,Field2")); 
JsonSerializer.CreateDefault().Serialize(Console.Out, result); 
関連する問題