我对 NHberinate 比较陌生,并且正在使用它作为 EF 的替代品,因为它在 Mono 上运行良好。
我所有的实体都使用 AutoMapping 进行映射。
问题是我有一个一对多的关系设置。Item 类之一具有localizedText 类。我还为 Cascade all 设置了一个约定。
public class CascadeAll : IHasOneConvention, IHasManyConvention, IReferenceConvention
{
public void Apply(IOneToOneInstance instance)
{
instance.Cascade.All();
}
public void Apply(IOneToManyCollectionInstance instance)
{
instance.Cascade.All();
}
public void Apply(IManyToOneInstance instance)
{
instance.Cascade.All();
}
}
当我将localizedText 添加到我的Item 类时,效果很好,并且localizedText 表将值写入表中,但是......外键值“itemId”保持为空。我怎样才能使它工作,以便localizedText项目在添加时有一个objectId?
扎克