代码之家  ›  专栏  ›  技术社区  ›  David Pfeffer

使用nhibernate的isession.get<>()w/a复合键

  •  8
  • David Pfeffer  · 技术社区  · 15 年前

    我在数据库表/nhibernate实体中有一个复合键。我能用一下吗 .Get 方法来获取一个特定的实体,还是由于组合键,我必须使用hql/条件?

    2 回复  |  直到 12 年前
        1
  •  3
  •   Community CDub    7 年前

    如果按此处建议使用密钥类,则只能使用session.get(): nHibernate Composite Key Class Type Mismatch

        2
  •  24
  •   Christian Specht    14 年前

    使用此组合键映射:

    <class name="MyClass">
        <composite-id>
            <key-property name="Key1" />
            <key-property name="Key2" />
        </composite-id>
        <property name="..." />
    </class>
    

    …您可以使用。如下所示:

    var x = Session.Get<MyClass>(new MyClass() { Key1 = 'Foo', Key2 = 'Bar'});