代码之家  ›  专栏  ›  技术社区  ›  alice7

nHibernate错误:找不到具有给定标识符的行错误

  •  1
  • alice7  · 技术社区  · 15 年前

    我知道这个问题是重复的。 但没有人能回答得足够简短而正确。 当我试图使用guid从表中给出记录时,我得到了nhibernate错误“没有找到具有给定标识符的行出错”。 我正在使用nhibernate加载函数加载具有唯一标识符(guid)的记录,但如果该记录不存在,则会给出异常。 hbm.xml文件中是否缺少某些属性?

    1 回复  |  直到 13 年前
        1
  •  3
  •   Stuart Childs    15 年前

    documentation ,

    注意,如果没有匹配的数据库行,load()将抛出一个不可恢复的异常。

    如果要查询特定记录而没有异常,请使用实际查询或 Get() 方法。

    同样来自文件:

    如果不确定是否存在匹配行,则应使用get()方法,该方法将立即命中数据库,如果没有匹配行,则返回空值。

    所以用 获取() 并检查结果是否为空。