我正在使用Fluent NHibernate并有两个表;
客户[ID,名称,LanguageID]
语言[ID,描述]
我有一个具有以下属性的Customer实体; ID,名称,语言ID,语言
我想要做的是加入语言表以获取语言描述并将其放在客户实体的语言属性中.
我尝试过使用Join但我无法使用customer表上的LanguageID字段加入Languages表 - 它一直想要使用'ID'.
我的映射看起来像;
Table("Customers");
Not.LazyLoad();
Id(c => c.ID).GeneratedBy.Assigned();
Map(c => c.Name);
Map(c => c.LanguageID);
Join("Languages", join =>
{
join.KeyColumn("ID");
join.Map(prop => prop.Language).Column("Description");
});
Run Code Online (Sandbox Code Playgroud) 我们希望在我们的WCF服务后面使用NHibernate,但是我们在将子记录删除持久保存到数据库时遇到问题.
我们在服务和客户端之间使用DTO,它们具有IList <>作为子集合类型.当我们使用NHibernate填充DTO时,它将子集合设置为Bag的类型.但是,当通过线路发送时,WCF会将此集合类型更改为Array.
如果我们从数组中删除一条记录并将其传回服务,NHibernate将不会将删除持久保存到数据库中.
有没有我们可以告诉NHibernate(在映射?)删除数组中不存在的任何子记录?