私はデータテーブルをメモリに持っており、レコードをいくつか選択してフィールドを変更するレコードを歩かなければならず、同じ変更をデータテーブルに戻します。私はフィルター、ビュー、およびSQLでこれを行うことができますが、私はLinqでそれをやろうとしています。LinqがDataTableとレコードを照会する
var results = (from rows in dtTheRows.AsEnumerable()
select new
{
rows.Job,
}).Distinct();
foreach (var row in results)
{
firstRow = true;
thisOnHand = 0;
var here = from thisRow in dtTheRows.AsEnumerable()
orderby thisRow.PromisedDate
select new
{
thisRow.OnHandQuantity,
thisRow.Balance,
thisRow.RemainingQuantity
};
foreach(var theRow in here)
{
// business logic here ...
theRow.OnHandQuantity = 5;
} // foreach ...
最初のlinqクエリとforeachは、考慮するデータのサブセットのリストを取得します。関連性がある場合はここに含めます。私の問題は、このラインである:
heRow.OnHandQuantity = 5;
私のエラーは次のとおりです。 「エラー19施設またはインデクサ 『AnonymousType#1.OnHandQuantityは』に割り当てることはできません - それは読み取り専用です」
を私は何ここに行方不明?このクエリを元のデータテーブルに更新することはできますか?
[C#の匿名型を割り当てることはできません - 読み取り専用です](https://stackoverflow.com/questions/1550797/c-sharp-anonymous-types-cannot-be-assigned-to-それは読み取り専用です) – Igor