私はオブジェクトリストを持っています:
List<dynamic> prods = new List<dynamic>();
foreach (DataRow row in dataTable.Rows)
{
dynamic obj = new ExpandoObject();
IDictionary<string, object> oprops = obj;
foreach (System.Data.DataColumn col in dataTable.Columns)
oprops.Add(col.ColumnName, row[col.ColumnName]);
obj = oprops;
list.Add(obj);
}
pricing
リストは、製品の価格設定から同じように入力されますDataTable
。
私はこのクエリを持っています:
var result = (from product in prods join price in pricing on product.ID equals price.ProductID select new { product, price }).ToList();
そして、結果セットにさらにいくつかのプロパティを追加したいと思います。
foreach (dynamic obj in q)
{
obj.Test = "yes, testing."; // This line gives runtime error
Console.WriteLine(
"{0} - {1}",
obj.product.Name,
obj.price.UnitPrice);
}
foreach ループの個々の結果オブジェクトに追加するオブジェクト/値がいくつかあります。
次のように実行時エラーがスローされるため、それを行うことができません。
<>f__AnonymousType1<dynamic,dynamic>' does not contain a definition for 'Test' and no extension method 'Test' accepting a first argument of type '<>f__AnonymousType1<dynamic,dynamic>' could be found (are you missing a using directive or an assembly reference?)