【问题标题】:SchemeExport and creating of primary key for many-to-many tableSchemeExport和创建多对多表的主键
【发布时间】:2010-11-17 16:44:22
【问题描述】:

我使用 SchemeExport 创建数据库方案。多对多表创建时没有主键(只有两个外键)。是否也可以创建主键?

【问题讨论】:

  • 为什么需要一个多对多表的主键?
  • 为什么不呢?我可以在没有主键的情况下添加两个(或更多)相同的行,并且搜索操作会更慢。我认为每个表都必须有主键。我错了吗?
  • 我发现了关于它的问题stackoverflow.com/q/38870/511041。我有选项 2。

标签: nhibernate fluent-nhibernate nhibernate-mapping


【解决方案1】:

您能发布更多关于您的域的信息吗? 在多对多关联上创建代理键并不是一个好的选择,可能会有更合适的域建模。

如果您担心性能,请使用索引或unique constraint on both FK columns 进行一些比较测试。 我很确定创建代理 ID 会导致插入性能不佳,并且不会提高搜索性能,因为搜索几乎总是基于两个 FK 列。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-12
    • 2011-08-12
    • 1970-01-01
    • 2012-03-27
    • 2016-06-06
    • 1970-01-01
    相关资源
    最近更新 更多