ObjectDataSource против нового DomainDataSource

Я не вижу разницы между ObjectDataSource и новым DomainDataSource (http://blogs.microsoft.co.il/blogs/bursteg/archive/2009/04/11/using-domaindatasource-in-asp-net.aspx) . Мне нужно создать 4 метода, которые затем используются в обоих случаях.

В чем я главное отличие?


person Petr Šnobelt    schedule 05.11.2009    source источник


Ответы (1)


Одна вещь, о которой я знаю, это то, что ObjectDataSource не очень хорошо работает с «отслеживаемыми» объектами данных. Если объект данных является, скажем, объектом Linq to SQL, вам нужен Linq to SQL DataContext для отслеживания этого объекта данных, прежде чем его можно будет «обновить» в базе данных. ObjectDataSource использует Activator.CreateInstance для создания объекты данных непосредственно перед тем, как он попытается их сохранить.

В более старом проекте VS2005, в котором я участвовал, мы использовали NHibernate в качестве бэкенда (который также должен отвечать за создание экземпляров объектов данных) и в итоге использовали версию этот NHibernateDataSource на наших страницах aspx.

Похоже, что DomainDataSource предназначен для использования со всеми видами объектов моделей доменов на базе DataContext (я не буду называть их POCO;)), Linq to SQL, Linq to Entities, Astoria, службы RIA и т. д.

person Rob Fonseca-Ensor    schedule 05.11.2009