.netTiers + Codesmith VS Entity Framework .Net C # - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть вопрос о плюсах и минусах, что я должен упомянуть, когда сравниваю netTiers (с кодсмитом) и Entity Framework

Этот вопрос задавался много раз вокруг netTiers (с кодсмитом) и всеТемы, которые я нашел, очень старые, более старые, чем тогда, когда, вероятно, Entity Framework стали настолько популярными.

Я на самом деле очень доволен Entity framework (не очень хорошо, но мне это нравится, и я очень часто его использую)) и не очень близко к netTiers (с кодсмитом), поэтому я хочу знать, что решать, когда вижу netTiers в сложном проекте.Один из вариантов - остаться лицом к лицу со всеми проблемами, которые, как я полагаю, занимают огромное количество времениДругой - использовать уже управляемые и заранее разработанные модные утилиты от Microsoft (вот как мне кажется, entity framework кажется мне прекрасным после того, как я провел несколько дней с netTiers).

1 Ответ

0 голосов
/ 06 февраля 2019

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

Я использовал обе платформы,и я начал использовать их обоих одновременно.По моему мнению, у них обоих есть области, в которых они сияют.

EF лучше подходит для небольших проектов, он в основном используется для подхода, основанного на коде, и позволяет приложению обновлять базу данных по мере появления новых версий приложения.выкатил.Однако это также способствует плохой генерации SQL-запросов с использованием linq-to-sql и, следовательно, имеет тенденцию иметь меньшую общую пропускную способность данных, чем netTiers.Если разработчик не имеет непосредственного опыта работы с базой данных или не имеет прямого доступа к базе данных для управления, то EF, вероятно, будет более привлекательным вариантом для них, поскольку он позволит им вернуть небольшой контроль.

netTiers сияетв сокращении написания кода и обслуживания.В отличие от EF, он поддерживает только первый подход к базе данных.netTiers автоматически генерирует для вас весь DAL и обновляет его одним нажатием кнопки генерации.Он лучше работает для крупных проектов, особенно для веб-проектов, в которых вы имеете полный контроль над размещенной базой данных и можете легко обновить ее.Ахиллесова пята netTiers - это конфигурация CodeSmith, используемая для генерации DAL.Эта конфигурация, вероятно, должна храниться в системе контроля версий, потому что, если она когда-либо потеряна и была сильно настроена, то может быть очень сложно воссоздать ее, чтобы ваш DAL генерировался таким же образом, когда вы в следующий раз нажмете кнопку (этоможет быть проблема во время оборота разработчика).netTiers также позволяет вам видеть весь код DAL и выполнять отладку по мере необходимости, тогда как EF - это просто dll, с которым вы застряли.

Исторически netTiers были разработаны до того, как EF действительно стала жизнеспособной средой.Он был разработан для решения проблемы, которая на самом деле еще не решена.С тех пор EF действительно выросла и во многих областях превзошла netTiers, что привело к падению популярности netTiers.EF гораздо более настраиваемый и гибкий, чем netTiers.Тем не менее, EF никогда не был в состоянии прикоснуться к netTiers в области генерации кода, и ему требуется гораздо больше усилий, чтобы обеспечить его соответствие с netTiers по пропускной способности.

Я видел приложения, в которых разработчики модифицировали вручнуюКод DAL, который нарушает возможности netTiers по сокращению времени кодирования за счет автоматической генерации DAL.Если вы не застряли в этой ситуации и у вас уже есть надежная настройка netTiers, то попытка разорвать ее и преобразовать в EF, вероятно, будет пустой тратой усилий.

...