Подтвердить что ты не робот

Какую проблему пытается решить Microsoft со всеми этими стратегиями доступа к данным?

Кажется, существует много разных стратегий доступа к данным, выходящих из Microsoft. Theres классический ADO.NET, Linq2Sql, ADO.NET Entity Framework, службы данных ADO.NET, динамические данные ADO.NET. Я уверен, что Ive пропустил некоторые. Мне кажется, что в них много путаницы, где каждая инфраструктура вписывается в архитектуру приложения. Какую проблему пытается решить Microsoft со всеми этими методами доступа к данным?

4b9b3361

Ответ 1

Я не вижу смысла в этом вопросе. На самом деле это немного тролли.

  • ADO.NET - это исходная технология доступа к данным из .NET 1.0. Это явно не относится к обсуждению новых стратегий доступа к данным
  • LINQ to SQL является одним из исходных поставщиков LINQ. Он обеспечивает взаимно однозначное сопоставление между структурами базы данных и типами, используемыми в программе. Он предназначен для работы с SQL Server
  • ADO.NET Entity Framework более гибкая. Он предназначен для работы с любым провайдером ADO.NET и имеет слой сопоставления, так что программа работает с классами, которые ближе к бизнес-объектам, чем к таблицам базы данных. Например, один объект может включать данные из нескольких таблиц. Microsoft решила потратить больше усилий на EF, чем на LINQ to SQL.
  • ADO.NET Data Services - это уровень обслуживания над EF. Если бы вы собирались создать свой собственный сервис, чтобы ничего не делать, чем раскрывать свои данные, тогда это приличная ставка. Он использует интерфейс REST и может отображать данные в формате ATOM.
  • ASP.NET Динамические данные не являются стратегией доступа к данным. См. http://www.asp.net/dynamicdata/.

Различия достаточно ясны, что тривиальное количество исследований сделало бы их ясными.

Ответ 2

Они пытаются решить проблему увеличения продаж и доли рынка. С этой целью различные группы в Microsoft пытаются атаковать проблему того, как заставить больше разработчиков и конечных пользователей использовать свои продукты. Различные группы придумывают разные технологии, и, как и любая крупная компания, Microsoft изо всех сил пытается укрепить технологии, и группы работают в одном направлении. Кроме того, по мере появления новых технологий им необходимо продолжать (или, еще лучше, устанавливать) темпы, а также продолжать поддерживать более старые технологии, в которые инвестировали их клиенты. Конечным результатом для любой довольно разумной крупной компании, включая Microsoft, является несколько запутанный выбор технологий.

Ответ 3

Вы путаница - это наше разочарование. Многие из нас, кто принимает эти решения в области архитектуры для наших веб-сайтов, бросили наши руки с отсутствием ясности и хороших методов развития Microsoft по этой проблеме.

Моя команда, безусловно, сожгла Linq2Sql.

Теперь мы создаем наш веб-сайт с использованием подхода, управляемого доменом, и, в частности, Palermo Onion Architecture (http://jeffreypalermo.com/blog/the-onion-architecture-part-1/). Бизнес-объекты - это только POCOs и не зависят от инфраструктуры.

Теперь инфраструктура обрабатывается NHibernate и заказным ORM для нашей CMS. Большие затраты на запуск для них были значительно перевешимы благодаря тому, что сообщество будет продолжать перемещать NHibernate в лучшем направлении, и мы контролируем источник для нашего ORM. Хуже ухудшается, и Microsoft выпускает что-то действительно убедительное, что работает в DDD-архитектуре, нам просто нужно переписать наш инфраструктурный уровень.

Ответ 4

У них была стратегия данных на века. Фактически вы можете и должны искать "Стратегия доступа к данным Microsoft", и вы найдете ссылки старые и новые (то есть год 1998 и их стратегию OLEDB).

Я думаю, что вы ищете здесь с 2007 года, который, хотя ему 2 года, посвящен XML, ADO.NET, Data, LINQ, SQL Server, Visual Studio Orcas, Entity Framework... они затрагивают вопрос Имеет ли Microsoft стратегию доступа к данным?:

Да, оказывается, мы это делаем. Microsoft представляет собой платформу данных сущностей, которая позволяет клиентам определить общий Модель данных сущностей для служб данных и приложений. Данные сущности Платформа - это концепция с несколькими релизами, с будущими версиями отчетности инструменты, репликация, определение данных, безопасности и т.д. общей модели данных сущностей....

Майк Пиццо, архитектор, данные Программируемость

Надеюсь, это поможет.

Ответ 5

Я нашел статью в http://msdn.microsoft.com/en-us/magazine/cc700331.aspx приятное техническое введение в Entity Framework, если вы не знакомы с базовыми понятиями.

Вот раздел, который относится к этому вопросу, объясняя некоторые цели EF и отношения к ADO.Net...

ADO.NET Entity Framework - это эволюция ADO.NET и первая конкретная реализация EDM, обеспечивающая более высокий уровень абстракции при разработке против реляционной базы данных. В версии 1.0 команда была сосредоточена на создании основы платформы, не просто простой ORM, которая позволит разработчикам работать с концептуальной или объектной моделью с очень гибким отображением и возможностью размещения высокой степени отклонения от основного хранилища.

Эта высокая степень гибкости и дивергенции из основного хранилища является ключом к тому, чтобы позволить базе данных и приложениям развиваться отдельно. Когда в схеме базы данных происходит изменение, приложение изолируется от изменения с помощью Entity Framework, и вам часто не требуется перезаписывать части приложения, а просто просто обновлять файлы сопоставления, если это необходимо для внесения изменений.

Чтобы начать разработку платформы ADO.NET, платформа Entity Framework построена поверх существующей модели поставщика ADO.NET 2.0, при этом существующие поставщики немного обновляются для поддержки новых функциональных возможностей Entity Framework и ADO.NET 3.5. Мы решили реализовать поверх существующей модели поставщика ADO.NET, чтобы обеспечить модель поставщика, которая знакома сообществу разработчиков.