Лучшие практики SQL и Oracle в .NET - PullRequest
1 голос
/ 12 ноября 2010

Я хочу знать, какие лучшие практики будут использоваться для работы с Oracle и SQL из .Net.

Прецеденты: бесплатное решение, выполнение запросов, повторно используемый код.

Например, будет красиво использовать те же запросы LINQ для Oracle и SQL. Но, насколько я знаю, LINQ2SQL предназначен только для Sql, структуры сущностей - без провайдера оракула (например, я не хочу покупать его и использовать в Codeplex), nHibernate - поэтому мне нужна производительность, приближенная к чистому запросу.

Что вы используете в своих проектах, братья .NET? :)

Спасибо за ваш опыт.

Ответы [ 4 ]

1 голос
/ 12 ноября 2010

Вы также можете использовать общих поставщиков данных в ADO.NET.См. Пространство имен System.Data.Common - http://msdn.microsoft.com/en-us/library/system.data.common.aspx и «Написание общего кода доступа к данным в ASP.NET 2.0 и ADO.NET 2.0» http://msdn.microsoft.com/en-us/library/ms971499.aspx

1 голос
/ 12 ноября 2010

Я бы использовал NHibernate или Enterprise Library и Data Access Application Block.

Вот ссылка, где показано, как ее использовать.
Using Microsoft Enterprise Library Data Access Application Block – Part II

И еще один в форме краткого учебника.
Get Started with the Enterprise Library Data Access Application Block

Короче говоря, NHibernate - это инструмент ORM (Object-Relational Mapping), который позволяет отображать с помощью файлов XML ваши объектно-ориентированные классы на базовые таблицы данных независимо от того, какое хранилище данных вы используете. Достаточно настроить его с помощью строки подключения к вашему хранилищу данных и предоставить ему правильного поставщика данных .NET, чтобы он работал полностью.

С другой стороны, Enterprise Library's Data Access Application Block является своего рода оберткой над традиционным ADO.NET, чтобы упростить его использование. Вы можете именовать строки подключения и открывать подключения к этим именованным базам данных / строке подключения. Как только вы овладеете объектом Database этой библиотеки и ее конфигурационными функциями, ничто не сможет помешать вам получить доступ к вашим данным.

Это помогает? Вам нужны какие-либо дополнительные детали, с которыми я могу вам помочь?

РЕДАКТИРОВАТЬ # 1

Ничто в .NET не будет работать как "запросы чистого SQL", поскольку .NET - это управляемый код. Кроме того, вы должны учитывать издержки соединения и аутентификацию, прежде чем вы сможете выполнять запросы к базе данных.

РЕДАКТИРОВАТЬ # 2

Вот список поддерживаемых баз данных с NHibernate:
Databases supported by NHibernate

Кажется, я не могу легко (быстро) найти список поддерживаемых баз данных с помощью EntLib DAAB, но вот то, с чем я уже работал:

  1. Oracle 8i, 9i и 10g (пожалуйста, используйте собственный поставщик данных Oracle .NET для повышения производительности и поведения)
  2. SQL Server 2005/2008
  3. SQLite
  4. Microsoft Access

Поддерживаются и многие другие.

0 голосов
/ 12 ноября 2010

Мне нравятся хранимые процедуры, я думаю, они дают вам хорошую производительность и элегантность. nHibernate также является хорошим решением.

Кроме этих двух я не помню ничего, что я мог бы порекомендовать:)

0 голосов
/ 12 ноября 2010

Возможно, вы захотите проверить nhibernate.Это ORM с открытым исходным кодом, который работает с большинством основных баз данных.http://nhibernate.info/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...