Загрузка Silverlight DomainContext с двумя отдельными источниками данных домена

У меня есть путаница в отношении DataContext, которую я хотел бы, чтобы кто-нибудь подтвердил или прокомментировал.

Проще говоря, я считаю, что DataContext — это контейнер, который может быть заполнен сущностями при загрузке.

например У меня есть две сущности с именами 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 на сервер и зафиксирует все изменения на сервере, включая клиентов и заказы? Даже добавлены новые записи и отредактированы существующие для этих обеих сущностей?

Я новичок в Silverlight и хотел иметь четкое представление о том, как работает DataContext, я просмотрел технические документы, но, возможно, не смог найти ответ, который искал.


person Thr3e    schedule 20.06.2012    source источник


Ответы (1)


Да, myDataContext.SubmitChanges() вызывает защищенный метод Ria.Entity.AcceptChanges() для любой сущности, загруженной в коллекции в DomainContext.

person InnerException    schedule 20.06.2012
comment
даже DomainContext был загружен двумя или более разными источниками DomainDataSource? .... и если вместо SaveChanges через Domain Context мы продолжим и SubmitChanges в один из вышеупомянутых DomainDataSource, будет ли он также отправлять весь контекст обратно на сервер, и все сущности, которые были загружены в коллекции в DomainContext, будут обновляться? ...... Спасибо - person Thr3e; 20.06.2012