NHibernate - установить формулу как PK в режиме один-к-одному - PullRequest
0 голосов
/ 25 мая 2020

У меня есть следующая структура таблицы, которую я хочу реализовать с помощью NHibernate:

Table_ (x):

ID (PK),
Field1,
Field2,
...

(В базе данных есть несколько таблиц (x) с та же структура)

Поля таблиц:

Parent_ID (PK / FK),
Index_ID (PK / FK),
FieldA,
FieldB,
...

Все таблицы Table_(x) могут быть сопоставлены с TableFields.

Столбец TableFields.Parent_ID относится к столбцу идентификатора в таблица Table_(x).

TableFields.Index_ID всегда является постоянным значением, но зависит от бизнес-объекта доступа.

Теперь я хочу реализовать эту структуру таблицы в NHibernate с помощью MappingByCode.

На данный момент мои сопоставления выглядят:

public class Table_1
{
Id(x => x.ID);
Property(x => x.Index, x => x.Formula("(...)"));
OneToOne(x => x.Fields, x => { ... });

//map the properties
}

public class TableFields
{
ComposedID(x => { //map the pk columns });

//map the properties
}

Если я запускаю приложение, я получаю следующее сообщение об ошибке:

неработающее сопоставление столбцов для: ... ожидает 2 столбца, но 1 был сопоставлен

Как я могу «сопоставить» формулу x.Index в сопоставлении One-To-One, чтобы у меня было два параметра «pk / fk»?

Большое спасибо, Кирито,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...