我有一个遗留数据库(仍由其他遗留应用程序使用),其中该组被非规范化并复制到子行中
table parent
(
id
)
table child
(
id
parent_id
group_id
group_name
group_Flag
group_type
name
)
我希望将它们映射到
class Parent
{
public long Id { get; private set; }
public ICollection<Group> Groups { get; private set; }
}
class Group
{
public long Id { get; set; }
public string Name { get; set; }
public GroupType Type { get; set; }
public bool Flag { get; set; }
public ICollection<Child> Childs { get; private set; }
}
class Child
{
public long Id { get; private set; }
public string Name { get; set; }
}
更新:一些其他信息
答案 0 :(得分:0)
以下是一些初学者:
您可以尝试查看NHibernate参考的“映射集合”部分: - http://nhibernate.info/doc/nh/en/index.html#mapping-declaration-collections
然后,您可以尝试使用集合映射的“where”子句映射Groups
类的Parent
属性:
(9)其中(可选)指定在检索或删除集合时使用的任意SQL WHERE条件(如果集合应仅包含可用数据的子集,则非常有用)
以相同的方式映射Childs
类的Group
属性。
否则,您可以创建一些视图以不同方式显示数据,并将对象映射到这些视图(将update =“false”和insert =“false”设置为标识符属性映射)