DataContextに関して混乱があり、誰かに確認またはコメントしてもらいたいのですが。
平易な英語では、DataContextは、ロード時にエンティティで埋めることができるコンテナであると思います。
たとえば、とという名前の2つのエンティティがCustomers
ありOrders
ます。新しいDomainContextを宣言します
var ctx = new MyWebServices.MyDomainContext();
私はこのようにロードCustomers
しますDomainDataSource
:
DomainDataSource ddsCustomer = new DomainDataSource();
ddsCustomer.context = ctx;
ddsCustomer.query = ctx.LoadCustomerQuery();
ddsCustomer.Load();
同じドメインコンテキストを使用して注文をロードすると、
DomainDataSource ddsOrder = new DomainDataSource();
ddsCustomer.context = ctx;
ddsCustomer.query = ctx.LoadOrdersQuery();
ddsCustomer.Load();
変更を送信した後ctx.SubmitChanges()
、DomainContextはサーバーに戻り、CustomersとOrdersの両方を含むすべての変更をサーバーにコミットしますか?これらの両方のエンティティに新しいレコードが追加され、既存のレコードが編集されましたか?
私はSilverlightを初めて使用し、DataContextがどのように機能するかについてしっかりとした概念を求めていました。ホワイトペーパーを確認しましたが、探していた答えが見つからない可能性があります。