2013-03-27 3 views
0

Я выбрать некоторые данные из таблицы A с колонкой value и типа, которые имеют отношения с таблицей B, где есть столбец, который содержит coef(-1,0,1) При извлечении из A я хочу, чтобы умножить value с coef.значения с подробными условиями LINQ

+0

Пожалуйста, ваши модели –

+0

OK , это то, что ты хочешь. Теперь, какова ваша актуальная проблема с вашим текущим кодом? – ken2k

ответ

5

Что-то вроде этого?

var result = from a in tableA 
      join b in tableB on a.Key = b.ForeignKey 
      select new 
      { 
       Value = a.value * b.coef 
      }; 
-1

Вы можете использовать выражение LINQ, чтобы сделать это в одной строке:

dt.Rows.ForEach(x => x["value"] = (double)x["value"] * (double)x["coef"]); 

или вы можете просто добавить еще один столбец в DataTable:

dt.Columns.Add("Result", typeof(decimal)); 
dt["result"] = "value * coef"; 
+0

Поскольку ОП указывает, что он использует Entity Framework, такой концепции DataTable/Rows нет. – ken2k

+0

И 'ForEach()' не LINQ. Это стандартный метод экземпляра в 'List ' – MarcinJuraszek

Смежные вопросы