Вопрос
Это мой первый вопрос, будьте вежливы :).Я работаю над проектом с какой-то распределенной архитектурой.Я пытаюсь сделать следующее:
У меня есть Доступ к данным Слой, который использует LINQ2SQL
У меня есть Уровень обслуживания это прокси-сервер для уровня доступа к данным.
У меня есть Бизнес-уровень это вызывает уровень обслуживания для Сущностей.
Вопрос в том, как я могу перенести эти объекты LINQ2SQL на мой бизнес-уровень?
Я хочу изменить эти объекты на бизнес-уровне и выполнить обратное перемещение с сервисным уровнем и повторно преобразовать их в LINQ2SQL сущности для сохранения изменений в базе данных.
Мне жаль, если я прошу о чем-то невозможном, но я пытаюсь найти наилучший способ, но я сам не могу получить что-то умное :)
С наилучшими пожеланиями!
Решение
Мне кажется, что у вас есть 2 разных контекста: контекст BusinessLogic и домен доступа к данным.Вероятно, вам нужен преобразователь / контекстный картограф для преобразования из одного в другой и наоборот.
открытый класс ContextMapper { общедоступная бизнес-логика.Преобразование клиента (доступ к данным.Клиент-заказчик) {
} доступ к общедоступным данным.Преобразование клиента (BusinessLogic.Customer- клиент) {
}
Вы также могли бы записать их как методы расширения, если хотите
}
Другие советы
Похоже, вам нужен NHibernate или какой-то другой более продвинутый ORM.