Entity Framework или SQL - PullRequest
       3

Entity Framework или SQL

4 голосов
/ 22 сентября 2011

В нашей компании есть много старых приложений Delphi, и мы хотим переписать их в приложения .Net. Эти приложения очень сложны, потому что они смотрели на них 15 лет назад и продолжают их расширять.

Я единственный (настоящий) .Net разработчик в команде.

Теперь глава департамента хочет использовать Entity Framework, потому что он прочел что-то об этом.

Но у меня нет опыта работы с EF, но я создал свою собственную платформу, основанную на инструкциях SQL.

Я не понимаю, как EF может быть проще и сильнее, чем операторы SQL.

Может кто-нибудь убедить меня, почему мы должны перейти на Entity Framework? Учитывая, что команда знает SQL, но не настоящие разработчики .Net.

Спасибо

Ответы [ 3 ]

3 голосов
/ 22 сентября 2011

Если вам повезло, что вы можете начать с нуля, на зеленом пастбище - во что бы то ни стало, потратьте то время, которое вам нужно, чтобы познакомиться с Entity Framework!

Это отличный ORM- и отличный помощник по производительности.EF может помочь вам в 80% случаев - захватить объект, манипулировать им и сохранить его обратно в базу данных - просто оооочень намного проще!

using(MyDatabaseContext ctx = new MyDatabaseContext())
{
    Customer c1 = ctx.Customers.Find(4711);

    c1.Name = "Acme Inc.";
    // set other properties, if needed......

    ctx.SaveChanges();
}

Использовать ли ваш SQL-каркас так же просто, как этот ??Не может быть , что трудно выучить для разработчиков Delphi!Delphi и .NET Framework на самом деле очень похожи (да! Один и тот же парень их создал, в основном .....), и переход на .NET из Delphi очень прост и очень естественен (я сделал этот шаг пару лет назад) - оченьна самом деле это проще, чем для разработчиков VB6 старой школы ....

Читайте о Entity Framework - начните с Руководства для абсолютных новичков по Entity Framework !EF заботится о слишком глупом и скучном «клеевом коде», который вам * больше не нужно писать самому .......

Также: использование EF неозначает, что вы больше не можете использовать SQL - для определенных задач, таких как массовые операции, SQL по-прежнему является лучшим выбором.Если вам нужно, по крайней мере, с EF в .NET 4, вы даже можете подключить хранимые процедуры в тех местах, где этого требуют производительность или другие проблемы.Работает как очарование!

Найдите много информации о Entity Framework (технические документы, образцы, видео) в Центре разработчиков MSDN Entity Framework

0 голосов
/ 22 сентября 2011

Глава вашего департамента, кажется, в порядке.Инвестируйте в изучение Entity Framework, его надежного, проверенного, функционального, гибкого и, самое главное, своего фреймворка.Хотя я советую использовать только EF.Особенно, если вы хотите подготовить почву для будущих разработчиков .NET в компании, используйте EF.Он хорошо документирован, так что вы можете сразу перейти к программированию менее чем за один день.Более того, если эти приложения будут расширяться, как вы сказали, EF проложит путь (очень легко тоже) для таких вещей, как поддержка MySQL и других коннекторов (в конце концов, это одна из его сильных сторон).EF поможет вам в краткосрочной и долгосрочной перспективе.Вы также получаете поддержку инструментов для EF, который является огромным ++.Я долгое время использовал свой собственный ADO.NET, затем перешел на DLinq, и теперь EF, и я никогда не буду оглядываться назад (по большей части).MSFT все еще совершенствует EF (версия 4.1 была выпущена в апреле), так что я бы сказал, что это отличный выбор.Это ядро ​​нашего уровня данных в нашем новом флагманском продукте, поддерживающем MySQL, SQL 2005, 2008, Azure и 2008 R2 практически из коробки.+++

0 голосов
/ 22 сентября 2011

Даже если вы создали свой общий dal, который позволяет вам вызывать хранимые процедуры и получать таблицы, скаляры, читатели и т. Д. Я сомневаюсь, что классы будут такими же проверенными и зрелыми, как объект контекста db EF.

Не забывайте, что вы можете использовать EF для вызова ваших хранимых в sql процедур или получения данных с помощью sql, и вам не нужно моделировать все сущности в первый день.

Я бы положился на контекстный класс db только для написания современного.чистый код и забудьте о прямом управлении SqlConnection и SqlCommand вручную Ado.Net.

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