Одна вещь, о которой я знаю, это то, что 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