Я (надеюсь) только начинаю свой первый проект NHibernate и столкнулся с камнем преткновения. Буду признателен за любые советы.
Я работаю над проектом, в котором мой новый код будет работать параллельно с унаследованным кодом, и я вообще не могу изменить модель данных. Я сталкивался с ситуацией, когда одна из основных таблиц не имеет первичного ключа. Это что-то вроде этого:
Скажем, есть таблица заказов и таблица продуктов, а также таблица line_item, в которой перечислены продукты в каждом заказе (т. Е. Состоят из order_id, product_id и количества). В этой модели данных вполне возможно иметь 2 позиции для одного и того же продукта в одном и том же порядке. В существующем коде происходит то, что всякий раз, когда пользователь обновляет позицию, все позиции для этого заказа удаляются и вставляются повторно. Поскольку даже составной ключ всех полей в таблице line_item не обязательно будет уникальным, это единственный возможный способ обновить позицию в этой модели данных.
Я готов гарантировать, что никогда не буду пытаться обновить или удалить отдельную позицию. Могу ли я заставить свой код NHibernate работать так же, как существующий код? Если нет, значит ли это, что я (а) вообще не могу использовать NHibernate; (б) я не могу использовать NHibernate для отображения таблицы line_item; или (с) я все еще могу отобразить эту таблицу, но не ее взаимосвязи
Заранее спасибо за любые советы