2011-12-05 28 views
1

私には関数があります。この関数はIEnumerable<Customer>Customerが実体)です。関数DataContextCustomersのコレクションがあるプロパティ)に、Customersプロパティを上書きする必要があることをIEnumerable<Customer>に伝える必要があります。 DomainContext.Customersは読み込み専用なので割り当てできないため、割り当てを使用できません。DataContextへの書き込み

私は何を求めているのかはっきりしないと思いますので、どうすればいいですか?したがって、System.Collections.Generic.IEnumerableに置き換えたいDataContext.Customers(System.Data.Linq.Table型)があります。 DataContextのプロパティは読み取り専用なので、後者を前者に割り当てることはできません。しかし、道があるはずです。

編集は:

enter image description here

さらに編集:ここに画像だはい、この画像は、型 '顧客のではなく、「接続」のコレクションを備えていません。ただし、リンクされたSQLデータベース内のテーブルから作成されています。したがって、dc.Connections、dc.Customers、dc.Mediaなどがあります。

ありがとうございます。

+1

私はあなたが尋ねるか、どのように、これはWCFに関連しているのかわからないんだけど...の –

+0

が重複する可能性を[DataContextオブジェクトとそのプロパティの割り当て](http://stackoverflow.com/questions/8359199/the-datacontext-object-and-assigning-its-properties)答えが見つからない場合は、その質問を更新する必要があります。 –

+0

申し訳ありませんテリー、私はDataContextオブジェクトがWCFの下に落ちたと思った。そうでなければ、それは何の下に落ちるのですか? – user738383

答えて

0

あなたのコレクションはIsReadonlyです。これは、ビューステートにInterfaceがある場合、またはコレクションをシリアライズする場所がある場合に発生します。デシリアライズされている場合は、その関数のインターフェイスの実装がないため、読み込み専用です。

+1

驚くべき2匹の梨が同じ質問に答えてくれました。私の姓はサルデーニャ語で同じ意味です:))) –

0

私はあなたがUPDATEにしたいあなたのIEnumerable内のエンティティの同じIDを持つコンテキスト内のすべてのCustomerエンティティを想定し、あなたはこの答えのようなアプローチを使用することができます。

https://stackoverflow.com/a/4212581/559144

0

はそれがDataContext.SubmitChanges()はありませんか? ? (この修辞的な質問が提案答えたことを確認するために苦労したもののために)

回答バージョン

それは普通のことだDataContext.SubmitChanges()

+0

変更を提出する前に、私が行っている変更がDataContextにあることを確認する必要があります。私がなぜこのようにしているのかについては、特に興味深い話ではありません。 – user738383

+0

私はそうではないと確信しています。私たちが見ることのできるコードがありますか?私は多大な仲間を知らないが、あなたが私たちに例を挙げると助けになるかもしれない。 –

+0

さて、私はコードを含むメインの質問に画像を追加しました。 – user738383

0

だ、コレクションは読み取り専用ほとんどの時間でなければなりません。

あなたはちょうどそのforeachのを使用して、すべての新しい項目を追加し、コレクションをクリアする必要があります。

private void SetItems(IEnumerable<MyObject> _NewItems) 
{ 
    myCollection.Clear(); 
    foreach (MyObject newItem in _NewItems) 
    { 
     myCollection.Add(newItem); 
    } 
} 
+0

コレクションの型がSystem.Data.Linq.Table であり、これまで見てきたように、「クリア」または「削除」オプションはありませんが、これは私が探しているようです。 – user738383

+0

myTable.RemoveAll(myTable)を使用することができます。 –

+0

私は主な質問を変更し、画像を追加しました。ご覧のとおり、 'IsReadOnly'と 'Reverse <>'を除いて 'R'の下には何もありません。 – user738383

関連する問題