Сравнение ado.net entity framework с nhibernate
DESCRIPTION
Сравнение ADO.NET Entity Framework с NHibernate. Роман Здебский Эксперт по технологиям разработки ПО Microsoft [email protected] http://blogs.msdn.com/roman. NHibernate. ORM solution for the Microsoft .NET NHibernate free open source - LGPL - PowerPoint PPT PresentationTRANSCRIPT
Microsoft TechDayshttp://www.techdays.ru
Сравнение ADO.NET Entity Framework с NHibernate
Роман ЗдебскийЭксперт по технологиям разработки ПО[email protected]://blogs.msdn.com/roman
Microsoft TechDayshttp://www.techdays.ru
NHibernateORM solution for the Microsoft .NETNHibernate free open source - LGPLNHibernate порт Java O/R маппера HibernateNHibernate 1.0 - 2005NHibernate 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.2POCOHQL – строковые запросыLINQ provider RTM planned for 2.1 (hopefully)
Microsoft TechDays
Language Integrated QueryЕдинообразные типизированные запросы к любому источнику данных
Методы расширения интерфейса IEnumerable (Select, OrderBy, GroupBy, Join, Where)Возвращаемый результат как объектная коллекция (IEnumerable<T>)
Intellisense, проверка на этапе компиляцииСпециальный синтаксис выражений запросов
Microsoft TechDays
C# 3.0var contacts = from c in customers where c.State == "WA" select new { c.Name, c.Phone };
var contacts = customers .Where(c => c.State == "WA") .Select(c => new { c.Name, c.Phone });
Extension methods
Lambda expressions
Query expressions
Object initializersAnonymous
types
Local variable type
inference
Microsoft TechDayshttp://www.techdays.ru
Entity FrameworkРелиз – 11 августа 2008.NET Framework 3.5 SP1Полная интеграция с
.NETVisual Studio IDE
Выделение двух функциональных уровней
Маппинг – Entity Data ModelObjectContext – управление ссылками на инстанции объектов
Встроенная полная поддержка LINQ
Microsoft TechDayshttp://www.techdays.ru
Начало проектаNHibernate
Скачать дистрибутив, скопировать NHibernate.dllДобавить конфигурацию источника в web.config или hibernate.cfg.xml конфигурацию источникаСоздать POCO объектыСоздать к ним xml mapping <имя>.hbm.xmlИнстанциируем сессию
ADO.NET Entity Framework
http://www.hibernate.org/hib_docs/nhibernate/1.2/reference/en/html/quickstart.html#quickstart-intro
Microsoft TechDayshttp://www.techdays.ru
Entity Framework интеграция с инструментальной средой
Демонстрация
Microsoft TechDayshttp://www.techdays.ru
LINQ + Entity FrameworkC# 3.0 VB 9.0 Другие
.NET Language Integrated QueryLINQ to
DataSetsLINQ toEntities
LINQ toObjects
Объекты
LINQ toXML
<book> <title/> <author/> <year/> <price/></book>
XML
LINQ toSQL
Реляционные источники
Entity FrameworkКонцептуальная
схема (CSDL)
Microsoft SQL Server, Oracle, DB2, MySQL…
Маппинг (MSL)Схема
хранения (CSDL)ADO.NET
Microsoft TechDayshttp://www.techdays.ru
Entity Framework + Web + ADO.NET DataServices
Демонстрация
Microsoft TechDayshttp://www.techdays.ru
ADO.NET Data ServicesC# 3.0 VB 9.0 Другие
.NET Language Integrated QueryLINQ to
DataSetsLINQ toEntities
LINQ toObjects
Объекты
LINQ toXML
<book> <title/> <author/> <year/> <price/></book>
XML
LINQ toSQL
Microsoft SQL Server, Oracle, DB2, MySQL…
Entity Framework
ADO.NET
REST API
Client LINQ Rest
Provider
HTTP
Сервер
Клиент
Microsoft TechDays
Инструмент
Microsoft TechDayshttp://www.techdays.ru
Спасибо за внимание
Роман ЗдебскийЭксперт по технологиям разработки ПО[email protected]://blogs.msdn.com/roman