Хороший .NET ORM Framework, который поддерживает OleDb и хранимые процедуры? - PullRequest
1 голос
/ 23 сентября 2008

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

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

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

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

Ответы [ 3 ]

5 голосов
/ 23 сентября 2008

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

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

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

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

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

Я бы также упомянул NHibernate , Castle Active Record и Microsoft Enterprise Library . У меня нет особого опыта в этом деле.

0 голосов
/ 23 сентября 2008

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

0 голосов
/ 23 сентября 2008

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

  1. LINQ to SQL
  2. ADO.NET Entity Framework
  3. NHibernate
  4. Ваш выбор)
...