Я изучаю ServiceStack и архитектуру лука, и у меня есть вопрос, который кажется таким основным, что я чувствую, что что-то упускаю.Отделка доменных объектов в ServiceStack с луковой архитектурой
У меня есть три проекта: Api, Core и Infrastructure.
У меня есть ServiceStack в проекте API. У меня есть объекты объекта в моем основном проекте, мои классы доступа к данным находятся в моем проекте инфраструктуры. Я должен украсить объекты сущности атрибутами, чтобы код Orm Lite знал, как действовать с ними (создание таблиц и т. Д.). Это атрибуты, такие как [AutoIncrement] и [Index].
Мне нужно ссылаться на ServiceStack в моем ядре, чтобы получить доступ к атрибутам, и ядро до этого момента не зависело ни от чего, и это нарушает идею луковой архитектуры.
Что мне не хватает? Как разрешить OrmLite в проекте Infrastructure обрабатывать доступ к данным для моих объектов, в то время как объекты находятся в ядре?
Эй, Гуру, проверьте [Обновление OrmLite v4] (https://plus.google.com/106787359118990653189/posts/Sbd5113dRrd). Все атрибуты теперь перемещены в ServiceStack.Interfaces и, где возможно, они слабо связаны по имени (т. Е. Вместо этого вы можете использовать System.ComponentModel.DataAnnotations). Также теперь можно добавлять атрибуты во время выполнения (http://bit.ly/1e5IQqS), то есть отключать от POCOs. – mythz
Спасибо, Demis. Я все еще использую 3.x, поэтому я не видел этих изменений. –
Спасибо @ гуру-катиреан и миф ... рад видеть, что я просто не пропустил что-то большое. – Mike