Int.parse в экспрессии linqC#

Место общения программистов C#
Ответить
Anonymous
 Int.parse в экспрессии linq

Сообщение Anonymous »

У меня есть следующее выражение LINQ. Я хочу рассчитать сумму числовых значений в поле nvarchar . Я использую следующий код для этого, но я получаю ошибку, когда пытаюсь запустить это. < /P>

Код: Выделить всё

var m = new MaterialModelContainer();

var list =
(from x in
(
from inv in m.INVs
join l in m.LIBs on inv.MESC equals l.MESC
join o in m.OUTs on inv.MESC equals o.MESC
join t in m.TRANs on inv.MESC equals t.MESC
where t.TYPE == "60"
select new
{
l.MESC,
l.LINE_NO,
l.UNIT_LINE,
Description = l.DES + " " + l.PART_NO,
inv.NEW_QTY,
o.PJ,
o.DATE,
o.QTY,
o.QTY_REC,
TranQty = t.QTY,
tranDate = t.DATE
}
)
group x by
new
{
x.MESC,
x.LINE_NO,
x.UNIT_LINE,
x.Description,
x.NEW_QTY,
x.PJ,
x.DATE,
x.QTY,
x.QTY_REC
}
into g
select new
{
QTY_Consum_1 = g.Where(c => int.Parse(c.tranDate) >= cuDate && int.Parse(c.tranDate)  int.Parse(d.TranQty))
}
).ToList();
Error Description:



LINQ to Entities does not recognize the method 'Int32
Parse(System.String)' method, and this method cannot be translated
into a store expression


< /blockquote>

Как я могу решить эту проблему и написать этот код лучше этого? < /p>

Я изменил код на это: < /p>

Код: Выделить всё

select new
{
QTY_Consum_1 = g.Where(c => SqlFunctions.StringConvert(c.tranDate) >= cuDate && SqlFunctions.StringConvert(c.tranDate)  SqlFunctions.StringConvert(d.TranQty)),
g.Key.MESC
}
).ToList();
Но получил эту ошибку:


Подробнее здесь: https://stackoverflow.com/questions/121 ... expression
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»