0

我该如何做一个连接,它会返回类似的结果 -

SELECT * FROM Project LEFT JOIN ProjectRegion ON ProjectRegion.id = Project.projectRegion

我目前使用的语法 -

  Project[] projects = Project.FindAll();

我的表是使用 ActiveRecord/hibernate 设置的,如下所示 -

    [ActiveRecord]
    public class ProjectRegion : ActiveRecordBase<ProjectRegion>
    {
        private int id;
        private String title;

        public ProjectRegion()
        {
        }

        [PrimaryKey]
        public int Id
        {
            get { return id; }
            set { id = value; }
        }

        [Property]
        public String Title
        {
            get { return title; }
            set { title = value; }
        }
    }


    [ActiveRecord]
    public class Project : ActiveRecordBase<Project>
    {
        private int id;
        private String projectNumber;
        private String projectRegion;

        public Project()
        {
        }

        [PrimaryKey]
        public int Id
        {
            get { return id; }
            set { id = value; }
        }

        [Property]
        public String ProjectInternalCode
        {
            get { return projectNumber; }
            set { projectNumber = value; }
        }

        [Property]
        public String ProjectRegion
        {
            get { return projectRegion; }
            set { projectRegion = value; }
        }
...
4

1 回答 1

1

如果您在 Project 类中声明 ProjectRegion 属性的类型为 ProjectRegion 而不是字符串,当 NHibernate 获取 Project 时,它将自动加入(根据获取策略)ProjectRegion 表。

于 2009-09-03T14:14:51.473 回答