2010-03-07 2 views
0

Использование LINQ to SQL делает разработку приложений быстрее, но растворяет логические уровни в приложении. Уровень доступа к данным и слои бизнес-объектов почти не имеют идентификатора, они находятся в одной и той же DLL. Кто-нибудь знает, как разработать приложение уровня предприятия, используя LINQ to SQL. Как мы четко разделяем бизнес-объект и созданные объекты LINQ? Как они свяжутся, как будут передаваться данные между нашими бизнес-объектами и объектами LINQ. Любая статья или любые предложения по этому поводу будут в значительной степени оценены. Благодарю.Разработка приложения уровня предприятия с использованием LINQ

ответ

2

Мы используем L2S для следующего программного обеспечения следующего поколения, которое управляет нашими заводами и связанными с ними приложениями. Это для тонкой солнечной компании стоимостью 2,5 млрд долларов. Мы создали четко определенную платформу приложений n-уровня на основе L2S.

Мы также создали собственный генератор кода для создания набора приложений, набора объектов L2S, уровня бизнес-логики и уровня доступа к данным. Набор объектов L2S предназначен только для использования в фоновом режиме. Объекты приложения (которые не имеют встроенной сантехники L2S) предназначены для передачи данных обратно и обратно из приложения на сервер. Мы используем WCF для связи уровня приложения с сервером.

В наших приложениях используется WCF для вызова логического уровня бизнес-логики для обработки данных. Уровень бизнес-логики вызывает наш уровень доступа к данным для доступа к данным на основе Linq на основе низкого уровня. Наши объекты приложений передаются нам и обратно. В back-end мы имеем очень эффективное сопоставление, которое сопоставляет объект приложения с каждым объектом L2S.

Работы очень хорошо для нас.

Рэнди

0

Вы можете получить очень далеко с L2S (как StackOverflow доказала), но ИМХО Linq2SQL не очень хорошо подходит (и не предназначено, я думаю) для «приложений уровня предприятия».

Теперь, когда выпущена версия Entity Framework 4.0, вы можете захотеть рассмотреть возможность использования EF. Он поддерживает POCO и позволит вам иметь гораздо более удобную многоуровневую архитектуру.

Отъезд:

The ADO.NET Entity Framework

ADO.NET C# POCO Entity Generator

Я недавно портировал значительную базу кода из L2S в EF 4.0. Поскольку EF теперь поддерживает ленивую загрузку, вы можете иметь очень плавный переход от L2S к EF, используя расширенные функции EF только тогда, когда они вам понадобятся.

Смежные вопросы