2009-11-24 3 views
0

У меня есть веб-приложение с умеренным масштабом с базой данных на базе SQL Server.Консолидированное обсуждение: LinqDataSource или ObjectDataSource?

Мой обзор DB - Generic suggestions for SQL 2005 Framework\Design and Implementation

My App Обзор рамки - L2S (LINQ to SQL) or EF (Entity Framework)

Таким образом, на данный момент, как мы на развитие Быстрым. Мы «заморозили» миграцию в MVC-архитектуру, и для упрощения/ускорения мы выбрали LINQ-to-SQL над Entity-Framework (также учитывая тот факт, что через несколько месяцев появится лучшая платформа Entity Framework v2.0) , Надеюсь, это правильно.

Теперь, когда я снова старый код - в прошлом мы использовали ODS (ObjectDataSource) во всех местах для поиска & CRUD операций. Итак, это хорошая идея для заменить его новым LinqDataSource (LDS).

Я только что нашел один полезный пост на StackOverflow: SqlDataSource vs ObjectDataSource

Я называю многими LDS учебники. Большой 'серии' Я foun на CodeProject:

Part1: http://www.codeproject.com/KB/aspnet/LinqDataSourcebasics.aspx 
Part2: http://www.codeproject.com/KB/aspnet/LinqDataSourcebasics1.aspx 
Part3: http://www.codeproject.com/KB/aspnet/LinqDataSource2.aspx 
Part4: http://www.codeproject.com/KB/aspnet/LinqDataSource3.aspx 

Я также посетил несколько 'сравнения' дискуссии, как - (хороший) http://www.eggheadcafe.com/aspnet/how-to/146339/linqdatasource-vs-objectd.aspx

5 часть серии Знаменитый ScouttGU на LINQ - http://weblogs.asp.net/scottgu/archive/2007/07/16/linq-to-sql-part-5-binding-ui-using-the-asp-linqdatasource-control.aspx

Я не могу идти глубже - мне нужно знать, что эксперты должны сказать об этом. Мой наклон направлен на использование ODS, потому что он обеспечивает лучшую абстракцию (в отличие от 2-уровневого LDS). И для будущей миграции MVC также этот shud помогает структурировать приложение лучше.

Другие Ref: http://www.dotnetspider.com/forum/165941-What-Difference-between-ObjectDataSource.aspx

+0

Похоже, что ваша архитектура решена, но это рискованный путь, если вы заботитесь о производительности и масштабируемости ... Поддержка родных асинхронных вызовов действительно важна, так же как и пакетная обработка команд и множество наборов результатов, которые не являются но поддерживается LINQ to SQL. – RickNZ

+0

Ну, я ценю проблемы \ point о "batch-statement-execution" и "multi-resultsets". Я понятия не имею о «абонентских асинхронных вызовах». Я выдвинул базовую архитектуру, но я не вижу, что «рискованно», потому что я могу обрабатывать сценарий с несколькими результатами, используя VIEW, и существует вероятность v.less для пакетных обновлений. –

ответ

0

Надежда это служит сводный R & D для тех, кто хочет, чтобы выбрать между ними. Для меня это было долгое время, и теперь я использую MVC3 и SQL Server в качестве бэкэнд. Таким образом, у меня есть L2S (LINQ to SQL), который помогает мне получить идеальное «ИЛИ» отображение и позволяет мне манипулировать вещами на уровне объекта, а не с любыми другими формами.

Entity Framework хорош, но L2S обеспечивает больше контроля и проще (как выбор между Win XP & Vista (EF)). Я остался с L2S и работал как шарм!

Смежные вопросы