我有我的数据库中的表看大致是这样的:如何从NHibernate的“组名”列中映射组实体类?
create table Foo (
Id int identity not null,
Name varchar(100) not null,
GroupName varchar(100) not null,
constraint PK_Foo primary key (Id)
)
现在我想这个表映射到两个实体类是这样的:
class Foo {
public virtual in Id { get; private set; }
public virtual string Name { get; set; }
public virtual Group Group { get; set; }
}
class FooGroup {
public virtual string Name { get; set; }
public virtual ISet<Foo> Foos { get; private set; }
}
这是可能的NHibernate的?我试图搜索网络和NH文档,但我真的不知道要寻找什么 - 对搜索查询的想法将不胜感激。
也许我可以做一个映射FooGroup
使用自定义的HQL/SQL查询来选择不同的组名和另一个自定义查询来选择适当的一组包含的项目?
你能告诉我们更多关于你想达到的目标吗,为什么你需要两个班级? – epitka 2009-09-02 15:10:07
最初设计数据模型时,组名称不过是名称。后来,随着事态的发展,看起来实际的团体现在有遵守的商业规则。例如:FooGroup应该有一个方法Bar(),它将一些神奇的业务集合函数应用于包含的Foos并返回一个整数。试图这样做的DDD方式,我想我可以重构字符串'GroupName到FooGroup类,并在这里声明的方法。这有意义吗? – 2009-09-03 16:37:23
听起来和我的问题类似 –
Firo
2011-08-30 14:27:23