У меня возникли проблемы с использованием CreateCriteria для добавления внешнего соединения к запросу критерия при использовании Fluent NHibernate с автоматическим сопоставлением.
Вот мои сущности -
public class Table1 : Entity
{
virtual public int tb1_id { get; set; }
virtual public DateTime tb1_date_filed { get; set; }
.
.
.
virtual public IList<Table2> table2 { get; set; }
}
public class Table2: Entity
{
public virtual int tb2_id { get; set; }
public virtual int tb2_seqno { get; set; }
.
.
.
public virtual Table2 table2 { get; set; }
}
Я пытаюсь использоватьследующие, чтобы добавить внешнее объединение в мой запрос критериев -
CreateCriteria("Table2", NHibernate.SqlCommand.JoinType.LeftOuterJoin);
Но я получаю ошибку -
{"EIX000: (-217) Column (tbl1_id) not found in any table in the query (or SLV is undefined)."}
Так что, похоже, он пытается автоматически установить идентификаторвторая таблица, но не знает, что ее установить.Есть ли способ, которым я могу специально установить идентификатор?Вот моя сессия -
var persistenceModel = AutoMap.AssemblyOf<Table1>()
.Override<Table1>(c => {
c.Table("case");
c.Id(x => x.id).Column("tbl1_id");
})
.Where(t => t.Namespace == "MyProject.Data.Entities")
.IgnoreBase<Entity>();
Надеюсь, что это имеет смысл.Спасибо за любые мысли.