0

SQL DB をターゲットとする LINQPad に次のクエリがあるとします (C# ステートメント モードを使用)。

var query = (from te in Time_Entries
            select new { te.Period, te.Company_Name }).FirstOrDefault();

選択したレコードの期間の値を更新したい場合は、次のようなことができると思います。

query.Period = 5;
SubmitChanges();

しかし残念ながら、query.Period 割り当て行でエラーが発生します。

Property or indexer 'AnonymousType#1.Period' cannot be assigned to -- it is read only

この方法または同様の方法で更新を実行することは可能ですか?

4

2 に答える 2

3

いいえ、できません。匿名型には、変更可能なプロパティを含めることはできません。ドキュメントから:

匿名型は、最初に型を明示的に定義しなくても、一連の読み取り専用プロパティを 1 つのオブジェクトにカプセル化する便利な方法を提供します。

とにかく本当に意味がありません。匿名型は非常に便利な場合もありますが、Linq2Sql エンティティの追跡と更新を使用する必要がある場合はそうではありません...

于 2013-03-09T23:05:55.597 に答える
1

まあ、答えはすでに

select new {}

匿名型でなくても、挿入しかありません....

残りは彼の答えでワルサーによって答えられます。

于 2013-03-10T15:52:02.200 に答える