Nhibernate - getting single column from other table

Posted by Muhammad Akhtar on Stack Overflow See other posts from Stack Overflow or by Muhammad Akhtar
Published on 2010-04-21T07:38:12Z Indexed on 2010/04/21 7:43 UTC
Read the original article Hit count: 275

I have following tables

Employee: ID,CompanyID,Name //CompanyID is foriegn key of Company Table
Company: CompanyID, Name

I want to map this to the following class:

public class Employee
{
    public virtual Int ID { get; set; }
    public virtual Int CompanyID { get; set; }
    public virtual string Name { get; set; }
    public virtual string CompanyName { get; set; }
    protected Employee() { }
}

here is my xml class

<class name="Employee" table="Employee" lazy="true">
<id name="Id" type="Int32" column="Id">
  <generator class="native" />
</id>
<property name="CompanyID" column="CompanyID" type="Int32" not-null="false"/>
<property name="Name" column="Name" type="String" length="100" not-null="false"/>

What I need to add in xml class to map CompanyName in my result?

here is my code...

 public ArrayList getTest()
    {
        ISession session = NHibernateHelper.GetCurrentSession();
        string query = "select Employee.*,(Company.Name)CompanyName from Employee inner join Employee on Employee.CompanyID = Company.CompanyID";
        ArrayList document = (ArrayList)session.CreateSQLQuery(query, "Employee", typeof(Document)).List();
        return document;
    }

but in the returned result, I am getting CompanyName is null is result set and other columns are fine.

Note:In DB, tables don't physical relation

Please suggest my solution ------ Thanks

© Stack Overflow or respective owner

Related posts about ASP.NET

Related posts about nhibernate