我没有看到ObjectDataSource和新的DomainDataSource(http://blogs.microsoft.co.il/blogs/bursteg/archive/2009/04/11/using-domaindatasource-in-asp-net.aspx)之间的区别。 我需要创建4个方法,然后在两种情况下使用。
我的主要区别是什么?
答案 0 :(得分:0)
我知道的一件事是ObjectDataSource对“跟踪”的数据对象不能很好地工作。如果数据对象是Linq to SQL对象,则需要Linq to SQL DataContext跟踪该数据对象,然后才能“更新”到数据库。 ObjectDataSource在尝试保存数据对象之前依赖于Activator.CreateInstance来构建数据对象。
在我参与的旧版VS2005项目中,我们使用NHibernate作为后端(同样需要负责实例化数据对象),最后在我们的aspx页面上使用this NHibernateDataSource版本。
似乎DomainDataSource打算可用于各种DataContext支持的域模型对象(我不打算将它们称为POCO;)),Linq to SQL,Linq to Entities,Astoria,RIA服务等。