Стоит ли переходить на Entity Framework для нового небольшого приложения? - PullRequest
3 голосов
/ 28 апреля 2010

Стоит ли переходить на Entity Framework для нового небольшого приложения? Около 10 таблиц и приложение WinForms.

то есть альтернатива DataTables / DataRows или Linq-to-SQL

Ответы [ 4 ]

4 голосов
/ 28 апреля 2010

Я не согласен с теми, кто говорит, что LINQ to SQL предпочтительнее для небольшого проекта, основываясь на реальном опыте использования LINQ to SQL и Entity Framework для небольших проектов. Мне очень тяжело пережить невероятно слабый сценарий обновления схемы LINQ to SQL (отбросьте старую модель, заново сгенерируйте новую и повторно примените ваши настройки). Вы можете делать то, что вам нужно, с обоими инструментами, по большей части, но если ваша схема БД когда-либо изменится или будет развиваться, вы потратите в сторону слишком много времени на работу с конструктором L2S.

Лучшая причина избегать Entity Framework - если вы этого не понимаете. Я не переворачиваюсь здесь; если вы понимаете L2S и не понимаете EF, то обязательно используйте L2S; Вы, вероятно, будете более продуктивными. Но если вы понимаете оба инструмента, EF может сделать почти все, что может сделать L2S, и многое, многое другое (простое обновление моделей, модели сначала, модели кода, настраиваемый кодоген, службы RIA и т. Д. И т. Д.) .

3 голосов
/ 28 апреля 2010

Entity Framework - отличный продукт, но он явно разработан для более сложных и сложных случаев, когда вам необходимо иметь объектную модель домена, которая может отличаться от вашей базовой модели хранения. Если вам это нужно - замечательно, - но для большинства небольших приложений это полное излишество и добавляет только дополнительные уровни снижения производительности.

Для небольших приложений выберите Linq-to-SQL - или посмотрите Subsonic . Они оба предлагают довольно тонкие и очень простые слои поверх ваших столов, и они отлично работают для небольших приложений.

DataTables такие 1990-ые ... держитесь подальше, они грязные, их сложно использовать, с ними не приятно и не эффективно работать.

2 голосов
/ 28 апреля 2010

Держитесь подальше от таблиц данных. LINQ to SQL должно быть достаточно, IMO.

2 голосов
/ 28 апреля 2010

Я бы, наверное, пошел за LINQ to SQL для небольшого проекта.

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