Рекомендации по доступу к базе данных C # - PullRequest
7 голосов
/ 12 марта 2011

Привет, я запрограммировал немало C #, но никогда с базой данных.Я хотел бы использовать SQL Server с C # с некоторыми рамками.Похоже, что Microsoft выпустила несколько фреймворков за время существования C #.Это затрудняет поиск / выбор.

Какой из них выбрать?Я занимаюсь разработкой простого 3-уровневого веб-приложения.Я посмотрел несколько видео Entity Framework .Net 4.0, но у меня такое ощущение, что все происходит слишком автоматически.Мне нужно время от времени делать SQL ..

И если мне нужно перейти на EF4.0, действительно ли это лучший справочник http://msdn.microsoft.com/en-us/library/bb386876.aspx

Любые рекомендации?

Ответы [ 5 ]

6 голосов
/ 12 марта 2011

Перейти с Entity Framework 4 - это текущий и будущий лучший подход к базе данных SQL Server. Это основа для WCF Data Services, и идея концептуальной модели наверняка появится в другом продукте Microsoft (Reporting Services и других, возможно).

И это дает вам много ловушек, позволяющих вам выполнять операторы SQL «на лету», и вы также можете очень хорошо интегрировать хранимые процедуры в Entity Framework.

А для повседневных задач "Run of the Mill" он дает вам хорошие объекты C # - на основе вашей базы данных - для работы с ними.

На мой взгляд, это ваш лучший выбор в настоящее время - и тот, который обладает наибольшей гибкостью и возможностями. Вы можете начать с базы данных («база данных сначала») и создавать свои классы из существующих таблиц; или вы можете начать с модели и попросить EF4 сгенерировать для вас базу данных, а EF v4.1 (которая должна быть выпущена довольно скоро) также предложит разработку «сначала в коде», где вам даже не нужна визуальная модель, но вы можете описать все ваши объекты базы данных и настройки только в коде C #.

Обновление:

2 голосов
/ 12 марта 2011

Вы сказали, что хотите попробовать какой-то «фреймворк», поэтому Entity Framework - это тот. Это результат лучших практик, которые MS придумала после нескольких лет исследований. Конечно, в пути вы всегда можете использовать SQL (набор данных) в любое время вместе с EF (в основном для настройки производительности).

2 голосов
/ 12 марта 2011

C # + ActiveRecord + NHibernate. Скрыть реализацию за несколькими службами WCF.

2 голосов
/ 12 марта 2011

Я бы сказал, начните с Sub Sonic Роба Конери. Его легко начать с ... простого репозитория ..

Ссылка на сайт: http://www.subsonicproject.com/

Простой репозиторий с использованием Sub Sonic:http://subsonicproject.com/docs/Simple_Repo_5_Minute_Demo

Обновление: я видел один ответ, в котором упоминается NHibernate, и хочу добавить небольшое дополнение к тому же ... и с тех пор, как OP объявил, что у вас есть хороший опыт работы с C #, я предполагаю, что у вас есть хорошие знания OOPS итакже отношения между объектами

Лично мне было намного легче начать с NHibernate при использовании его с Fluent NHibernate, поэтому я бы также предложил

C # + NHibernate + Fluent Nhibernate ....

1 голос
/ 12 марта 2011

Посмотрите здесь для получения некоторой информации о производительности / тестах производительности для различных сред ORM для .Net.

...