我是一個新的nHibernate幫助我保存一個對象和他的連接在基地。 我已經得到了基地,兩個表:NHibernate保存對象在一對一的關係
- 人(idPerson,名字,secondName,idService
- 服務(idService,名)
表服務有3個職位(金,銀,燦爛)
的映射:
public class PersonMap:ClassMap<Person>
{
public PersonMap()
{
Id(x => x.id);
Map(x => x.firstName);
Map(x => x.lastName);
Map(x => x.status);
References(x => x.serviceType).Column("idServiceType");
Table("Person");
}
}
public class ServiceMap : ClassMap<ServiceType>
{
public ServiceMap()
{
Id(x => x.id);
Map(x => x.serviceName);
Table("Service");
}
}
我使用存儲庫中的下一個方法保存:
public void Saves(Person entity)
{
using (var session = hibernateHelp.OpenSession())
{
using (var transaction = session.BeginTransaction())
{
ServiceRepository srp = new ServiceRepository();
NHibernateUtil.Initialize(entity.service);
session.Save(entity);
transaction.Commit();
}
}
}
我recive日起(名字= 「我的」 姓氏= 「轉到」 狀態= TRUE,的serviceType = 「金」),然後創建一個人:
Person df=new Person{
firstName="My",
lastName="Go",
status=true,
serviceType=new ServiceType{serviceName="gold"}
};
當我將它發送到信息庫的方法保存(見上文)的映射工作,並節省在表人新的對象,並在表中創建服務新的註釋。 我不需要在表格服務中創建新的筆記,因爲它包含了一個。如何使救星的方法,以保存鏈接到表服務器,但不創建新的? 我欣賞任何鏈接和建議。
你還可以發佈你的Person和SerciveType映射嗎? – 2012-02-21 20:25:17
添加了我的映射 – 2012-02-22 12:17:11