我不知道如何问这个问题,因为我不知道我不知道什么,因此我不知道我正在试图得到答案的正确术语.我将解释我的情景,希望它会有所帮助:
我有三个表,一个Book表,一个Tag表和一个BookTag查找表.
每本书都有一个ID,一个标题(对于初学者)每个标签都有一个ID,标题每个BookTag都有一个ID,一个BookID和一个TagID.
可以使用多个标签标记书籍,并且可以在多个BookID上使用标签.
我已经以这种方式设置了我的对象:
Book.cs int BookID string Title ListTags Tag.cs int TagID string Title BookTag.cs int ID int BookID int TagID
我希望Books.cs类有一组标签,而不是BookTags,但我似乎无法在NHibernate中获得正确的映射.这就是我为Book.hbm.xml文件所获得的:
这是我的BookTag.hbm.xml:
在这个模型下,我可以使用我的对象模型得到我想要的标签:Book.Tags [0] .Tag,但这看起来效率低下.我可以使用NHibernate将BookTags.TagID映射到数据库中的Tags.TagID,这样我就可以让Book.Tags [0]返回Tag对象,而不是BookTags对象吗?我不知道将Books与标签关联的更好方法,以便可以在Book2上使用Book1上使用的标签,而无需在Tags表中添加新条目.
我希望这至少有一定意义.如果您需要进一步澄清,请与我们联系.如果我在某人回答之前搞清楚,我会在这里发布我的解决方案.