Доступ к данным в ASP.NET MVC 3 - PullRequest
       2

Доступ к данным в ASP.NET MVC 3

2 голосов
/ 25 января 2012

Каков рекомендуемый способ создания слоя доступа к данным в реальных приложениях ASP.NET MVC?Это EF?Эф код первый?NHibernate?Любая другая идея?

Спасибо и привет

Ответы [ 7 ]

4 голосов
/ 25 января 2012

Нет рекомендуемого пути.

Я предпочитаю EF Code First для этого, потому что

  • Исходный код очень чистый и легко читаемый
  • Легко просто изменить строку подключения и создать новую базу данных, если она еще не существует
  • легко перенести вашу базу данных, если ваша модель изменилась (не нужно пересоздавать базу данных), используя EntityFramework.SqlMigrations
  • если ваша База данных уже существует, вы можете использовать Power Entity Framework Power Tools для создания моделей и контекста базы данных из существующей базы данных
3 голосов
/ 25 января 2012

Все зависит от ваших потребностей:

  • NHibernate - более зрелый ORM с большим сообществом

  • Entity Framework в настоящее время становится оченьхорошо поддерживается, и вы также можете найти отличную информацию ( проверьте блог Джули Лерман )

Оба поддерживают генерацию кода из базы данных.

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

Чтобы помочь вам решить, каким образом использовать Entity Framework

enter image description here

Источник

Есть много других замечательных ORM:

Subsonic

ORM Dapper от Stackoverflow , если производительность является важным критерием, на сайте есть небольшой тест

1 голос
/ 25 января 2012

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

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

1 голос
/ 25 января 2012

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

1 голос
/ 25 января 2012

Если вы неравнодушны к инструментам MSFT и хотите быть «современными», то EF Code First, вероятно, - то, с чего следует начать.Один пример, который стоит изучить: https://github.com/NuGet/NuGetGallery.

0 голосов
/ 25 января 2012

Кажется, что гуру MVC (люди, написавшие MVC) в MS сейчас используют Entity Framework.Сказав, что вы можете использовать любую ORM (или любую другую технологию доступа к данным), так как MVC фактически ничего не указывает о способе доступа к данным

0 голосов
/ 25 января 2012

Попробуйте LINQ, большинство продуктов MVC, которые я вижу, используют LINQ.

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