Какие .NET ORM поддерживают интеллектуальные клиенты (т. Е. Сопоставление объектов и синхронизация данных) - PullRequest
1 голос
/ 07 апреля 2009

Я недавно участвовал в проекте, который требовал умного клиента. Мы использовали SQL Server Compact Edition и Microsoft Sync Services для ADO.NET. Нашим онлайн-сервером был SQL Server 2005. Один из членов нашей команды написал код квази-ORM / DAL (очень специфичный для наших нужд). Создание пользовательского ORM в этом сценарии стоило нам довольно много времени разработки, которое можно было бы использовать в другом месте. Кто-нибудь может порекомендовать стороннюю ORM, которая разработана для умных клиентов?

Я думаю, что я ищу ORM, который интегрирует следующее:

  • стандартные функции сопоставления объектов вперед и назад
  • гибкая и детализированная структура синхронизации (т. Е. Я хочу иметь возможность задавать стратегии проверки и разрешения конфликтов для каждого объекта в отдельности)
  • поддержка клиентов XBAP или Silverlight была бы хорошей, но не обязательной.

Следует также отметить, что я явно не привязан к использованию MSSQL или MSSQL CE для данных.

Я нашел только один продукт под названием Telerik OpenAccess, который отвечает этим требованиям. У кого-нибудь есть опыт с этим? http://www.telerik.com/products/orm.aspx

Есть другие предложения?

Ответы [ 2 ]

1 голос
/ 07 апреля 2009

Да, мы используем OpenAccess . После того, как ORM с ручным кодированием - как и вы - начал находить более быстрое / дешевое / не очень болезненное решение, и OA стал победителем.

Я думаю, что NHibernate также отличный инструмент, но я часто читаю о проблемах производительности и моделирования с базами данных среднего и большого размера. Я попробовал, это другой мир для меня.

Telerik сказал, что поддержка CE будет добавлена ​​в первом квартале 2009 года, и я надеюсь, что это правда :) Так что я думаю, что вы должны дать шанс OA, например,

  • имеет большое прямое и обратное отображение
  • волшебники
  • скважина настраивается процесс
  • класс и атрибут или / и сопоставление на основе xml
  • У меня хорошая производительность опыт
  • И что может быть лучше в среде интеллектуальных клиентов: кэширование, ленивая загрузка , трюк со статической компиляцией
  • LINQ, SQL , OQL
  • Отключенная модель, поддержка n-уровня (хорошо, просто класс, но работает:)
  • Образец Silverlight
1 голос
/ 07 апреля 2009

NHibernate или Linq-2-SQL будет вашим стандартным ответом здесь:)

Мне лично очень нравится NHibernate, но я не уверен в том, сколько SQL-диалектов поставляется из коробки. Но он очень популярен, поэтому я не думаю, что было бы слишком сложно найти другие диалекты, кроме MYSQL / MSSQL

...