使用NHibernate的ISession.Get <>()w /复合键

Dav*_*fer 8 .net c# nhibernate composite-key

我在数据库表/ NHibernate实体中有一个复合键.我可以以某种方式使用该.Get方法来获取特定实体,还是由于复合键而必须使用HQL/Criteria?

Chr*_*cht 25

使用此复合键映射:

<class name="MyClass">
    <composite-id>
        <key-property name="Key1" />
        <key-property name="Key2" />
    </composite-id>
    <property name="..." />
</class>
Run Code Online (Sandbox Code Playgroud)

...你可以使用.获取这样的:

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

  • 这甚至适用于包含引用类的复合ID.只需构造包含所请求ID的对象图. (2认同)