Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# NHibernate联接仅从左表获取数据_C#_Nhibernate - Fatal编程技术网

C# NHibernate联接仅从左表获取数据

C# NHibernate联接仅从左表获取数据,c#,nhibernate,C#,Nhibernate,我想使用NHibernate在视图和表之间执行联接。COL1和COL2列属于我的_视图,COL3和COL4列属于我的_表。它们都有一个ID列,我想基于它加入它们。我正在使用以下代码,但由此产生的查询选择了我的_视图中的所有列,因此失败 Table("MY_VIEW"); ID(x => x.Id).GeneratedBy.Assigned().Column("ID"); Map(x => x.Col1).Column("COL1"); Map(x => x.Col2).Colu

我想使用NHibernate在视图和表之间执行联接。COL1和COL2列属于我的_视图,COL3和COL4列属于我的_表。它们都有一个ID列,我想基于它加入它们。我正在使用以下代码,但由此产生的查询选择了我的_视图中的所有列,因此失败

Table("MY_VIEW");
ID(x => x.Id).GeneratedBy.Assigned().Column("ID");
Map(x => x.Col1).Column("COL1");
Map(x => x.Col2).Column("COL2");

Join("MY_TABLE"", m => {
    m.Optional();
    m.KeyColumn("ID");
    Map(x => x.Col3).Column("COL3");
    Map(x => x.Col4).Column("COL4");
});
查询如下所示:

select v.COL1, v.COL2, v.COL3, v.COL4 
from MY_VIEW v left outer join MY_TABLE t 
on v.ID = t.ID
试试这个小变化:

Join("MY_TABLE"", m => {
    ...
    m.Map(x => x.Col3).Column("COL3");
    m.Map(x => x.Col4).Column("COL4");
});
试试这个小变化:

Join("MY_TABLE"", m => {
    ...
    m.Map(x => x.Col3).Column("COL3");
    m.Map(x => x.Col4).Column("COL4");
});