Хорошая платформа .NET ORM, которая поддерживает OleDb и хранимые процедуры?

StackOverflow https://stackoverflow.com/questions/118248

  •  02-07-2019
  •  | 
  •  

Вопрос

Типичная хранимая процедура в нашей системе принимает около 20 параметров.Рефакторинг этих хранимых процедур также невозможен.Я в основном прибегнул к написанию своего собственного генератора кода, который оборачивает эти SP в "Командные" объекты (не зависящие от поставщика базы данных), причем их общедоступные свойства соответствуют параметрам SP.Это работает, но я бы предпочел стороннее испытанное решение.

Кто-нибудь может что-нибудь порекомендовать?Я не нашел ни одного, который поддерживал бы OleDB и хранимые процедуры.

Редактировать:Мне нужно подключение к OleDb из-за SQL 6.5 (хотите верьте, хотите нет).ADO.NET не удается подключиться к SQL 6.5.Кроме того, это приложение .NET 2.0, поэтому LinqToSql для меня бесполезен.

Редактировать 2:Я уже пробовал NHibernate и iBatis.Ни один из них не соответствует моим потребностям.В последний раз, когда я пробовал NHibernate, требовалось, чтобы SP возвращал результирующий набор.Это не относится к моему SPs.Оба они также требуют, чтобы я вручную указывал параметры.

Это было полезно?

Решение

У меня есть опыт работы с 3 слоями ORM:

Все три являются бесплатными, поддерживают OleDb-соединения и хранимые процедуры.

Subsonic - Этот был создан специально для веб-приложений.Это во многом имитирует то, что делает Ruby On Rails.Они просто добавили миграции.Дозвуковой - самый легкий из трех.Это немного сложнее использовать для Winforms, но не так сложно, как я ожидал.Он поставляется с приятным инструментом пользовательского интерфейса для генерации кода и поддержания настроек базы данных.Это единственный, который поддерживает различные базы данных.Я использовал его с SQLite, SQL Server CE и SQL Server.

CSLA.NET - Этот может в значительной степени справиться практически со всеми новыми и блестящими.СЕТЕВЫЕ технологии.Я знаю, что автор только что добавил поддержку WCF, WPF и Silverlight.Это то, что я использую, когда мне нужна очень тяжелая работа с приложениями корпоративного типа.В нем есть множество приятных функций, таких как неограниченное количество отмен объектов, возможность помечать коллекции как доступные только для чтения, а также возможность перемещать и привязывать объекты в любом месте, где вы хотите.Это самое близкое, что вы получите к тому, что JBoss делает на Java.

Net Tiers - я не большой поклонник, но это поможет выполнить свою работу.Он легче CSLA, но все же тяжелее дозвукового.

Я хотел бы также упомянуть NHibernate на, Активная запись Замка, и Корпоративная библиотека Microsoft.Хотя у меня не так уж много опыта работы с ними.

Другие советы

Из того, что я слышал, ADO .NET Entity framework имеет небольшую поддержку хранимых процедур...LINQ2SQL вы можете заставить это работать, но может потребоваться что-то вроде прокси-класса...NHibernate и iBatis - ваш лучший выбор...

Альтернативы:

  1. ССЫЛКА на SQL
  2. ADO.NET Структура сущностей
  3. NHibernate на
  4. Ваш выбор )
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top