2012-05-11 16 views
0

私はまずEntity Frameworkコードを使用していて、データベースからデータを取り戻しています。私がアクセスしているテーブルには、顧客が過去13週間にわたって週に購入したアイテムの数をcharフィールドとして格納する13個のカラムがあります。私はこのデータがどのように格納されているかを制御できません。合計13週間の結果を集計する必要がありますので、week1 + week2 + week3 .... = 13週間以上購入した合計商品を取ってください。linqで複数の数値文字列値を追加

私はちょうど整数にcharをキャストし、一緒に値を追加したいと思います。しかし、私はlinqでこれを行うための解決策を見いだそうとしています。

私はInteger.Parse代わりにConvert.ToInt32を使用しようとしても

(From c in Table 
Select New With {.Usage = (Convert.ToInt32(c.week1) + 
          Convert.ToInt32(c.week2) + etc)}).ToList() 

を試してみました。

私に助けてくれるものがあれば、本当に感謝しています。おかげさまで

+3

あなたが持っているコード、またはInteger.Parseを試してみるとどうなりますか? –

+0

アイテムのすべてのフィールドを追加し、すべての追加が正しいリストを必要とします。 (DBのRow to Columnと同じですが、Sum()) – Tilak

+0

LINQ to Entitiesのエラーが 'Int32 Parse(System.String)'メソッドを認識せず、このメソッドをストアに変換できません表現。 – ajrawson

答えて

2

EFはConvert.Int32(および他の多くのLINQステートメント...)をSQLに変換できません。 LINQ to Entitiesを使用して通常はクエリを実行してから、LINQ以外の変換を実行する必要があります。

+0

これは解決策かもしれないと思っていましたが、私が変換するのを見逃していたことがあることを望んでいました。答えをありがとう。 – ajrawson

+0

私は同じ問題を抱えていましたが、決して清潔なソリューションが見つからなかった場合は、TSQL CASTを使用してEFのデータベースに対してこれを手動で実行できますが、すべてのコードソリューションを維持することをお勧めします。 – Judo

関連する問題