Вот действительно действительно супер-основной вопрос.Подход для приложений CRUD n-уровня в .NET.
Скажем, я хотел построить сегодня - приложение CRUD для предприятий в .NET, имеющее n-уровневую архитектуру. Какой подход к доступу к данным следует использовать? Я хочу интероперабельность, поэтому DataSets недоступны (и я полагаю, что это тоже не 2003). Аналогичным образом, рекламируемый метод предоставления RIM-сервисов .NET для предоставления своих функций через дополнительную услугу клиентам, не являющимся Silverlight, для операций обновления не выглядит очень convincing. У меня есть вид был способен сглаживать что-то с Entity Framework, у которой нет поддержки OOB на n-уровневом уровне, и поэтому требовалось много странного материала типа отражения, чтобы имитировать подобие оптимистического параллелизма (example в MSDN Magazine не похоже на то, что он поддерживает оптимистичный параллелизм. I hear это улучшено в EF4, но я немного скептически настроен, и он еще не доступен, кроме того, в CTP).
Итак, что могут сделать люди на своих проектах для корпоративного CRUD с оптимизированным параллелизмом с проверкой обновлений? DataSets? DIY с DTO и лорд знает, сколько работы? И как это работает со связанными данными? Скажем, у меня есть коллекция, связанная с DataGrid, мне нужно прослушать CollectionChanged для изменений? Нужно ли мне сохранять стеки изменений, чтобы я мог сравнивать ПК, если есть отмена? Кажется, кошмар.
И, во-вторых, что, если проверка обновлений для оптимистического параллелизма не была жестким требованием? Что тогда?
Насколько велика приложение? Как долго он будет обслуживаться? Сколько пользователей? Одно место или несколько? Каков текущий опыт и база знаний разработчиков? Вы говорите, что хотите интероперабельности, но с чем? Выбор технологических решений без этого контекста бессмысленен. –