パフォーマンス上の理由から、Entity Frameworks ExecuteSqlCommand を使用してデータを一括更新しようとしています。 ctx.Database.ExecuteSqlCommand(updateQuery, new object[] {newValue} );
ただし、テーブルの値フィールドの設定に問題があります。既存の値に係数を掛ける必要がありますが、次のエラーが表示されます。
追加情報: データ型 nvarchar を数値に変換中にエラーが発生しました。
newValue = "Value * 56,25";
String updateQuery = @"UPDATE dbo.BudgetLine_type1_unpivoted set Value = {0} where valueTypeID='Value2' AND Dim2 in ('712','718','722') AND Dim4 = '110' AND Period = 1"
int noRowsAffected = db.Database.ExecuteSqlCommand(updateQuery, new object[] {newValue} );
newValue を "1" または単に "Value" (何も変更しない) に設定すると、正常に動作します。
乗算を行うにはどうすればよいですか?値フィールドの型は decimal(28,6) です