Я новичок в CSLA и Entity Framework. Я создаю новое приложение CSLA/Silverlight, которое заменит 12-летнюю систему Win32 C++. Старая система использует пользовательскую библиотеку бизнес-объектов DCOM и использует ODBC для доступа к SQL Server. Новая система не сразу заменит старую систему - они должны сосуществовать с той же базой данных на долгие годы.следует использовать Entity Framework вместо raw ADO.NET
Сначала я думал, что EF - это путь, потому что он самый последний и самый большой. После создания небольшой EF-модели и всего 2 CSLA-редактируемых корневых объектов (в конечном итоге у меня будет сотни объектов, так как у моей базы данных есть 800+ таблиц). Я серьезно сомневаюсь в использовании EF.
В текущей системе мне нужно много раз, чтобы выполнить тонкую настройку производительности запросов, которые я могу сделать из-за 100% -ного управления сгенерированным SQL. Но, похоже, в EF так много происходит за кулисами, что я теряю этот контроль. Статья вроде http://toomanylayers.blogspot.com/2009/01/entity-framework-and-linq-to-sql.html не помогает моему впечатлению от EF.
Люди, похоже, любят EF из-за LINQ to EF, но поскольку мои критерии передаются между клиентом и сервером в качестве объекта критериев, похоже, что я мог строить запросы так же легко без LINQ. Я понимаю в WCF RIA, что есть прогноз запроса (или что-то в этом роде), где я могу сделать LINQ на стороне клиента, который перемещается на сервер до перевода в фактический SQL, поэтому в этом случае я вижу преимущество EF, но не в CSLA ,
Если я использую raw ADO.NET, я буду сожалеть о своем решении через 5 лет?
Кто-нибудь еще сделал этот выбор недавно и в каком направлении вы ушли?
Большой вопрос ... Я собирался спросить очень похожий. Мне было интересно, что преимущество EF заключается в скорости и управлении ADO.NET ... – Walter