Я использую Fluent NHibernate для отображения существующей базы данных. По этой причине автоматизация - это не вариант для меня.Как сообщить Fluent NHibernate игнорировать определенные свойства без автоматического выбора?
Как сообщить NHibernate о том, чтобы не отображать определенные свойства? Многие из них доступны только для чтения, а другим не нужно настаивать по другим причинам.
Я пишу это в VB.Net.
Я получаю сообщение об ошибке типичные: «Следующие типы не могут быть использованы в качестве прокси- ... должно быть„общественное/защищенный виртуальный“или" защищенный внутренний виртуальный»
Я намеренно не сделал мои объекты Overridable (эквивалентно виртуальному в C#), потому что я не хочу, чтобы NHibernate прикасался к ним.
Как я могу это достичь?
Меня все еще интересует менее хак-иш-ответ, но я нашел обходное решение на этом посту: http://stackoverflow.com/questions/907576/how-to-tell-fluent-nhibernate-not-to- map-a-class-property Вопрос, помеченный как ответ, применим только к AutoMapping, а не к ClassMapping. Если вы внимательно прочтете комментарии, в нижней части они упомянут просто создание класса Virtual (overridable). Сначала это кажется странным, но в последнем комментарии упоминается, что это не имеет побочных эффектов, если вы не пытаетесь сопоставить это свойство. Он просто создаст прокси-сервер, который он никогда не будет использовать. – Origin
[Здесь] (http://stackoverflow.com/questions/2278110/nhibernate-exception-method-add-should-be-public-protected-virtual-or-protec) - хороший ответ о том, почему вам нужно сделать все методы (и, конечно, свойства) виртуальные. Речь идет о NHibernate, а не о FluentNHibernate. –