У меня есть таблица Представление, которое имеет много к одному сопоставление с SubmissionType, который имеет от одного до многих отображение в SubmissionTypeYear table. Несмотря на то, что это сопоставление «один ко многим», всегда будет только один SubmissionTypeYear для SubmissionType. (Не спрашивайте меня, почему база данных была спроектирована таким образом. Я не участвовал, и мне просто нужно заставить ее работать.)формула свойства, не возвращающая результат
Следовательно, у представления будет SubmissionType будет SubmissionTypeYear.
Моя проблема заключается в том, что в моем Submission.hbm.xml я хочу вычисленное свойство, которое получает мне значение столбца из SubmissionTypeYear. Но я не знаю, что случилось, оно возвращается с нулем, когда я знаю, что в таблице есть значение.
Это мой код:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Business.Domain" assembly="Business.Domain">
<class name="Business.Domain.Submission, Business.Domain" table="dbo.Submission" lazy="true" optimistic-lock="version" >
<id name="Id" column="SubmissionId">
<generator class="identity"/>
</id>
<discriminator column ="SubmissionTypeCode"></discriminator>
<many-to-one name="SubmissionTypeMember" insert="false" column="SubmissionTypeCode" class="RefSubmissionType" access ="field.camelcase-underscore" cascade ="none" />
<property name="Year" formula="(SELECT TOP 1 SubmissionTypeYear.Year FROM SubmissionTypeYear WHERE SubmissionTypeYear.SubmissionTypeCode = SubmissionTypeCode)" access="field.camelcase-underscore"></property>
</hibernate-mapping>
Я думал, что это не собирание SubmissionTypeCode правильно, поэтому я попытался с статической строкой, как хорошо, но, кажется, не работает.
Что я делаю неправильно? Пожалуйста помоги.
Спасибо