Nhibernate获取和加载

时间:2009-05-06 14:11:27

标签: c# nhibernate

我正在使用NHibernate修复代码库,我发现不是使用Get或Load来按ID查找实体,而是使用查询。

喜欢:

  

session.CreateCriteria(typeof(T)).Add(Expression.AllEq(propertyNameValues)).List<T>();

其中propertyNameValues是包含“ID”和id值的IDictionnary。

尝试将其替换为:

  

session.Get<T>(id);

Nhibernate在我班上找到了一个没有坚持的人。

但显然有一种方法可行,我的google-fu只发现了人们忘记将给定的hbm设置为嵌入式资源或nhibernate配置中的映射程序集的链接。

我尝试了Get(id),Get(typeof(T),id),Get(“ClassName”,id)都抛出相同的错误。

这是请求的映射(谢谢)

<class name="Domain.Customers.Customer, Domain" table="Customer" lazy ="true">
    <id name="ID" column="id" access="field.lowercase-underscore" type="int">
        <generator class="identity" />
    </id>

这是一个类的映射,但它对我的所有权限都是通用的。

感谢任何指针。

1 个答案:

答案 0 :(得分:1)

“ID”是否被映射为对象的标识属性?正如马克所说,我们需要看到映射以给出更好的答案。