У меня проблема с проблемой, которая обматывает мою голову вокруг задачи или даже больше, поэтому лучший способ сделать это.Сопоставление объектов для nHIbernate Fluenty
Возьмите образец проекта:
- UI
- DATA (Assembly)
- SERVICE (Сборки), построенный на DATA
ли я помещал все отображения в сборке DATA или должны Я разделяю их на сборки SERVICE? Или я должен вообще избавиться от сборки DATA?
Этот вопрос вытекает из имеющих статический вспомогательного класса NHibernate в любом узле DATA или сборку UTILITY который затем ссылается из службы узлов и т.д.
Ссылки проекта Направление
UI> ДАННЫЕ/ПОЛЕЗНЫЕ
DATA/UTILITY < УСЛУГИ
UI> УСЛУГИ
Я просто делаю это сложнее или делаю это неправильно/правильно?
Примечание:
Я упомянул Fluent, как в то время как я знаю, что вы можете использовать config.xml для ссылки на сборки на карту, я не совсем уверен, как сделать это с Fluent без фактической ссылки сборки проекта - который заставляет меня попадающих в круглую опорную петлю.
Я не 100% на вашем объяснении, я не могу представить, что происходит. Возможно, я не объяснил себя должным образом. Я не хочу беспокоиться о разлуке, но я считаю, что должен быть на самом деле. Предполагается, что УСЛУГИ с их логикой используют сборку DATA/DATA ACCESS для взаимодействия с базой данных. Поэтому, если я понимаю вас, я должен поместить все сопоставления и nHibernate в сборку DATA ACCESS. В УСЛУГАх не должно быть сопоставлений. Правильно ли это? – Anthony
Я думал упомянуть: хотя мой текущий проект не будет иметь плагинов, которые могут быть в будущем. В этом случае главный был бы одним и тем же; использовать узел DATA ACCESS для взаимодействия с базой данных? Если да, то каким образом будут управляться сопоставления, тогда рассмотрение POCOs не будет присутствовать в сборке DATA ACCESS для новых таблиц, если оно добавлено? Извините, что запутываю ситуацию, я хочу начать правильно и идти вперед, вместо того, чтобы найти линию, которую я должен переписать. – Anthony
Я только что понял, если я разоблачу ISession через сборку DATA ACCESS, это будет неважно, где я пишу POCOs.Пока ISession/текущий сеанс может быть достигнут, он по существу открывает базу данных. Хотя, полагаю, возможно, это может быть так, как это должно быть сделано? – Anthony