我想在NHibernate中映射这样的类,但不为父类创建表。
public class CarService
{
public Guid CarId { get; set; }
public ICollection<Service> Services { get; protected set; }
public void Add(Service service)
{
if (this.Services.Any(s => s.Type == service.Type))
{
throw new Exception("service type already added");
}
this.Services.Add(service);
}
}
public class Service
{
public Guid ServiceId { get; set; }
public ServiceType Type { get; set; }
public string Prop2 { get; set; }
...
}
所以我想只有一个Child表,它看起来像:
| CHILD |
|----------|
| ChildId |
| ParentId |
| Prop1 |
| Prop2 |
| ... |
|----------|
是否可以在NHibernate中进行此类映射?
编辑: 我已经更新了我的对象模型。让父类具有保护我的模型集成(从DDD聚合根)的主要原因。在我的模型中,我有类CarService,它将存储为汽车购买的所有服务我想在我的模型中创建一些验证,这将阻止两次添加相同的服务类型。
答案 0 :(得分:0)
我不认为这是可能的。你总是可以在内存中构造Parent对象,但是NHibernate不会为你做这件事。