1 / 14

Сравнение ADO.NET Entity Framework с NHibernate

Сравнение ADO.NET Entity Framework с NHibernate. Роман Здебский Эксперт по технологиям разработки ПО Microsoft rzdebski@microsoft.com http://blogs.msdn.com/roman. NHibernate. ORM solution for the Microsoft .NET NHibernate free open source - LGPL

tamyra
Download Presentation

Сравнение ADO.NET Entity Framework с NHibernate

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Сравнение ADO.NET Entity Framework с NHibernate Роман Здебский Эксперт по технологиям разработки ПО Microsoft rzdebski@microsoft.com http://blogs.msdn.com/roman

  2. NHibernate • ORM solution for the Microsoft .NET • NHibernate free open source - LGPL • NHibernateпорт Java O/R маппераHibernate • NHibernate 1.0 - 2005 • NHibernate 1.2.1, released in November 2007, • support for .NET 2.0, • stored procedures, • generics, and • nullable types • NHibernate 2.0 - August 23, 2008. Схож с Hibernate 3.2 • POCO • HQL – строковые запросы • LINQ provider RTM planned for 2.1 (hopefully)

  3. Language Integrated Query • Единообразные типизированные запросы к любому источнику данных • Методы расширения интерфейса IEnumerable (Select, OrderBy, GroupBy, Join, Where) • Возвращаемый результат как объектная коллекция (IEnumerable<T>) • Intellisense, проверка на этапе компиляции • Специальный синтаксис выражений запросов

  4. C# 3.0 Query expressions var contacts = from c in customers where c.State == "WA" select new { c.Name, c.Phone }; Local variable type inference Lambda expressions var contacts = customers .Where(c => c.State == "WA") .Select(c => new { c.Name, c.Phone }); Extension methods Object initializers Anonymous types

  5. Entity Framework • Релиз – 11 августа 2008 • .NET Framework 3.5 SP1 • Полная интеграция с • .NET • Visual Studio IDE • Выделение двух функциональных уровней • Маппинг – Entity Data Model • ObjectContext – управление ссылками на инстанции объектов • Встроенная полная поддержка LINQ

  6. Начало проекта NHibernate ADO.NET Entity Framework • Скачать дистрибутив, скопировать NHibernate.dll • Добавить конфигурацию источника в web.configили hibernate.cfg.xmlконфигурацию источника • Создать POCO объекты • Создать к ним xml mapping<имя>.hbm.xml • Инстанциируем сессию http://www.hibernate.org/hib_docs/nhibernate/1.2/reference/en/html/quickstart.html#quickstart-intro

  7. Entity Framework интеграция с инструментальной средой Демонстрация

  8. <book> <title/> <author/> <year/> <price/> </book> Microsoft SQL Server, Oracle, DB2, MySQL… XML Объекты LINQ + Entity Framework Реляционные источники .NET Language Integrated Query EntityFramework Концептуальная схема (CSDL) Маппинг (MSL) Схема хранения (CSDL) C# 3.0 VB 9.0 Другие ADO.NET LINQ toEntities LINQ toDataSets LINQ toSQL LINQ toObjects LINQ toXML

  9. Entity Framework + Web + ADO.NET DataServices Демонстрация

  10. <book> <title/> <author/> <year/> <price/> </book> Microsoft SQL Server, Oracle, DB2, MySQL… XML Объекты ADO.NET Data Services Клиент .NET Language Integrated Query Client LINQ Rest Provider HTTP Сервер REST API Другие VB 9.0 C# 3.0 EntityFramework ADO.NET LINQ toDataSets LINQ toEntities LINQ toSQL LINQ toObjects LINQ toXML

  11. Инструмент

  12. Спасибо за внимание Роман Здебский Эксперт по технологиям разработки ПО Microsoft rzdebski@microsoft.com http://blogs.msdn.com/roman

More Related