<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="TstDBConnection.Entities"
assembly="TstDBConnection">
<class name="Staff" table="Staff">
<id name="Id" column="Id">
<generator class="guid.comb"/>
</id>
<property name="Title" column="Title"></property>
<component name="Name" class="Name">
<property name="FirstName" column="FirstName"></property>
<property name="LastName" column="LastName"></property>
</component>
</class>
</hibernate-mapping>
namespace TstDBConnection.Entities
{
public class Name
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
}
namespace TstDBConnection.Entities
{
public class Staff
{
public virtual Guid Id { get; set; }
public virtual Name Name { get; set; }
public virtual string Title { get; set; }
}
}
public static void TestComponentMapping(ISessionFactory sessionFactory)
{
using (ISession session = sessionFactory.OpenSession())
{
Name name = new Name() { FirstName = "John", LastName = "Doe" };
Staff emp = new Staff() { Name = name, Title = "System Developer" };
session.Save(emp);
session.Flush();
var query = from employee in session.Query<Staff>() select employee;
IList<Staff> employees = query.ToList();
}
}
static void Main(string[] args)
{
log4net.Config.XmlConfigurator.Configure(); // log4net
Configuration configuration = new Configuration();
configuration.Configure();
ISessionFactory sessionFactory = configuration.BuildSessionFactory();
TestComponentMapping(sessionFactory);
sessionFactory.Close();
}
![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOkAAACjCAIAAADglq6+AAAEPklEQVR4nO3cTY7cVBiG0d5Sb4sdZQcMWABjpIgBYsIARUJiwCyQPZgBonF87dsutxt/7/U5+hRVu279tR45LsXO0wSZnq5+A3CQdkmlXVJpl1TaJZV2SaVdUmmXVNollXZJpV1SaZdU2iWVdkmlXVIdbPcJTnJBu8/ffDTmjaNdkzraNamjXZM62jWpo12TOmO2O3+5rS0mfQq126489pHax77l2UzZqdJuP7iH4tPuTaZEu6ttadf0p267i3tf9Le3G7cebtKnULudvNrt7Y/T9k5662lN9JRo93nti9rU7GI7H2O+oF386sNN4lRpdz7zxfMtW2t2Lr78d23OnYrt/jOdHPt19u81w0yJdlfb6uTYr7N/rxlmira72NL/8Vm7t5wS7T7v+Ee1xfbVZ57f1T728t+1OXeqtGvMo6NdkzraNamjXZM6V7b73bcfjDkwJdr98vmTMQ9NoXb/+vO3Y/Pl86fDb51Q2iWVdkmlXVJpd3rLx+ZCg7fb/leB8z9f1hx781xr8HZfXqWzRbuhbtfuy353sSdebKS++7b76haK0+5yT2zXm0K7K1uIoF3HDKlu2u7070FCu0W4KW7RLkPSLqm0S6pa7f7x+8/HRrs3VKvdX3/54dho94ZqtfvTj98fG+3eUK12jXloCrXruxr7aZdU2iWVdkl103adtDCAwdvdOr1GuwMYvN1pI1PtDuBe7boyYiQ3atfZ5YPRLqm0SyrtkmrwdhffzHxXG8ng7TIw7ZJKu6Sq1a7r1divVruuV2O/Wu26Xo39arVrzENTqF3f1dhPu6TSLqm0Syrtkmrwdp++Nu04g6y9zmL1Li43frsH3tL8tnbLul27871ve25ke3uxrF2/+vD5yznl8p2M3+7qMcOivMVDFre3VnYWtMcn8j3d+O2ubtl5YLDV4tYxdLt+sZITafe/7Z2d5eohRLuls9/ldNrt3bW6ez7Wro5Pp92Vr1NbmT56zLD65Jxl8HYZmHZJpV1S1WrX9WrsV6td16uxX612Xa/GfrXaNeahKdSu72rsp11SaZdU2iWVdkk1eLuPfqStk28OPBXvTbub67Vb3O3a3Trj8eVsxsWZja+e1tg+vPNanOh27S7uWixod7Rtu68uaJ9Zvu/hdu0+zUxre8r2dttou3teXb9Yybnu1W4n087OcvUQot3S2e/yHrT71Y8H4nbMcJXx2138rb16zLAn00ePGVafnBMN3i4D0y6ptEuqWu26Xo39arXrejX2q9Wu69XYr1a7xuyfaZqqtHv4tbkt7ZJKu6TSLqm0Syrtkkq7pNIuqbRLKu2SSruk0i6ptEsq7ZJKu6TSLqm0Syrtkkq7pKrSrjEH5vp2jXnLaNekzjXtwin+73bhctollXZJpV1SaZdU2iWVdkmlXVJpl1TaJZV2SaVdUmmXVNollXZJpV1SaZdU2iWVdkn1N/R6RhEs+2ZHAAAAAElFTkSuQmCC)