![]() |
|
Модераторы: gambit |
![]()
|
|
| Bladerender |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
Товарищи. Помогите решить такую вот проблемму. Есть у меня программа, которая оперирует с данными, которые хранятся в обьектах.
Раньше эти данные сериализировались а потом в эти обьекты подгружались. Но из-за того что структура немного меняется классов, надумалось перейти на БазуДанных и данные хранить там. То теперь стала задача. Каким образом данные те что хранятся в базе данных преобразовать в объекты классов, что у меня в программе. Читал что есть NHibernate, что своим маппингом может преобразовать данные базы в обьекты, которые мне нада и появилось вот щас LinQ. Насколько я понял то это равноценные заменители или как? Чем посоветуете делать? |
|||
|
||||
| HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: нет Всего: 42 |
Нет, LINQ - это не ORM. Точнее он может использоваться как ORM, но в нем мало возможностей. Т.е. он поддерживает только прямую выборку из базы где, один класс==одна таблица. Есть ADO.NET Entity Framework - это довольно мощный ORM от Microsoft (правда он еще beta).
|
|||
|
||||
| PashaPash |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 4 Всего: 49 |
HalkaR, вообще-то поддерживается Single-Table inheritance.
IMHO, для уровня топикастера, Linq To SQL - лучший выбор. |
|||
|
||||
| Idsa |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 5 Всего: 62 |
Я сейчас как раз передываю DAL в одном проекте с LINQ To SQL на Entity Framework... Я так и не нашел, какая версия EF включена в SP1 beta, но вроде как Scott Gu заявлял, что если продукты в финальном SP1 и будут меняться, то незначительно. Я бы не сказал, что с EF работать гораздо сложнее, чем с LINQ To SQL. Но т. к. при этом EF предоставляет больше возможностей и фиксит существенные недочеты LINQ To SQL (собственно, именно поэтому DAL я и портирую), я рекомендую в любом проекте, нуждающемся в ORM, использовать EF (или nHibernate). EF действительно лучше LINQ To SQL. Немудрено, ведь LINQ To SQL и ORM-то по большому счету не является. Сравнение же EF и nHibernate гораздо сложнее: оба фреймворка предоставляют практически одинаковую функциональность (у nHibernate и поддержка LINQ есть). Есть неплохая статья, сравнивающая EF с ADO.NET, LINQ To SQL и nHibernate: http://blogs.msdn.com/dsimmons/archive/200...-framework.aspx Подход остается тот же: сериализация, сохранение, чтение, десериализация. Единственное, что изменится - хранилище данных.
Судя по описанию, у Вас не намечается очень сложной схемы базы. Поэтому вряд ли Вам удастся ощутить преимущества EF в плане маппинга. Так что можете использовать любую из трех ORM. Правда, если база у Вас не на Sql Server'е, то выбор сокращается до EF и nHibernate. |
||||
|
|||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 5 Всего: 62 |
Только что вот тут выяснил, что в sp1 beta входит Entity Framework beta4. Они, правда не называют его beta4, но в нем есть некоторые отличия от beta3, но при этом это еще не релиз: еще есть баги (я сам один словил).
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | LINQ (Language-Integrated Query) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |