我发现很多关于此的帖子,但根本找不到我喜欢的解决方案。
我有一个这样的课程
public Class1{
int Year{get;set;}
Class2 Class2Field {get;set;}
//.... other non key field
}
我希望以这种方式映射密钥:
HasKey(u => new { u.Class1.Year, u.Class1.Class2Field.id });
我不想成为我的对象中的Class2Field.Id属性:不需要也不喜欢。
它是必须正确映射它的ORM,而不会强迫域模型具有无用的属性。
是否有工作要做到这一点?
我唯一的想法是创建一个guid,它将成为我的对象键,并使实际的键只需要属性,如下所示:
public Class1{
int Id{get;set;}
int Year{get;set;}
Class2 Class2Field {get;set;}
//.... other non key field
}
HasKey(u => new { u.Class1.Id});
但仍然不喜欢这个
NHibernate可以流利地解决这个问题吗?