Using NHibernate's ISession.Get<>() w/ a composite key

送分小仙女□ 提交于 2019-11-27 07:44:27

问题


I have a composite key in a database table / NHibernate entity. Can I somehow use the .Get method to grab a specific entity or do I have to use HQL / Criteria due to the composite key?


回答1:


You can only use Session.Get() if you used a key class as suggested here: nHibernate Composite Key Class Type Mismatch




回答2:


With this composite key mapping:

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

...you can use .Get like this:

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


来源:https://stackoverflow.com/questions/2274969/using-nhibernates-isession-get-w-a-composite-key

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!