1
我的遗留表“ALLDATA”有这些列:Id, Title, LookupColumn1Id
我的实体:地图企业自我连接表凭身份证
public class BaseEntity
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
}
public class Employee: BaseEntity
{
public virtual int DepartmentId { get; set; }
public virtual string DepartmentName { get; set; }
}
public class Department: BaseEntity
{
public virtual int HeadManagerId { get; set; }
}
我要生成选择这样的:
SELECT EmployeeTable.Title, DepartmentTable.Id, DepartmentTable.Title
FROM AllData EmployeeTable left outer join AllData DepartmentTable on EmployeeTable.LookupColumn1Id=DepartmentTable.Id
WHERE EmployeeTable.tp_ListId = @p0 and (DepartmentTable.Title = @p1)
谢谢,但它不是答案。我不会在代码中显式实现该层上的实体之间的关系,我只想在映射中指定该特定关系。 – dbardakov
关键是,你正在尝试使用NHibernate,这是ORM。换句话说,您将表访问移动到实体/对象访问。这意味着,我们必须将表映射到实体,根据它们的DB和Object结构创建关系。然后我们可以通过对象模型的抽象来查询数据库 –