C# 具有额外列的NHibernate映射联接表
我有3个表:带有PK IdWorkspace和其他列的Workspace,带有PK IdLanguage和其他列的Language,以及带有多个PK(IdWorkspace FK和IdLanguage FK)和列外字符串命名的联接表WorkspaceFooter。我找不到一种方法来绘制Nhibernate的地图,一种有效的方法 如何写入.hbm.xml文件?我应该在工作区映射什么?集合、工作空间页脚列表等 请记住,由于某些原因,工作区中指向WorkspaceFooter的关系需要为reverse=“true”。工作区中的更新也必须强制工作区页脚中的更新C# 具有额外列的NHibernate映射联接表,c#,.net,join,nhibernate,nhibernate-mapping,C#,.net,Join,Nhibernate,Nhibernate Mapping,我有3个表:带有PK IdWorkspace和其他列的Workspace,带有PK IdLanguage和其他列的Language,以及带有多个PK(IdWorkspace FK和IdLanguage FK)和列外字符串命名的联接表WorkspaceFooter。我找不到一种方法来绘制Nhibernate的地图,一种有效的方法 如何写入.hbm.xml文件?我应该在工作区映射什么?集合、工作空间页脚列表等 请记住,由于某些原因,工作区中指向WorkspaceFooter的关系需要为reverse
提前感谢您。您需要清楚:
- 所需的类模型(源自业务逻辑,而不仅仅是数据库模型)
- 是否真的需要双向关系
- 将其映射为列表中的独立实体(这是需要最多管理代码的解决方案)
- 将其映射为具有名称的复合元素,并将多对一映射到语言。为此,它还使用了C#中的特定类。可能是最直接的解决方案
- 将其映射为地图(C#中的字典),其中名称是关键(考虑到它在同一工作区中是唯一的,并且是访问该语言的典型方式)
- 也许您可以将其映射为列表,并使用过滤器仅访问特定面额的数据。我没有使用过滤器的经验,也不知道你可能会遇到什么样的麻烦
- 所需的类模型(源自业务逻辑,而不仅仅是数据库模型)
- 是否真的需要双向关系
- 将其映射为列表中的独立实体(这是需要最多管理代码的解决方案)
- 将其映射为具有名称的复合元素,并将多对一映射到语言。为此,它还使用了C#中的特定类。可能是最直接的解决方案
- 将其映射为地图(C#中的字典),其中名称是关键(考虑到它在同一工作区中是唯一的,并且是访问该语言的典型方式)
- 也许您可以将其映射为列表,并使用过滤器仅访问特定面额的数据。我没有使用过滤器的经验,也不知道你可能会遇到什么样的麻烦