代码之家  ›  专栏  ›  技术社区  ›  Chris Kemp

nchar尾随空格导致记录在nHibernate中显得脏

  •  2
  • Chris Kemp  · 技术社区  · 15 年前

    我找到了一些代码,可以让我查看对象是否脏: http://nhforge.org/wikis/howtonh/finding-dirty-properties-in-nhibernate.aspx

    var x = session.Get<MyRecord>(123);
    var dirtyEntity = session.IsDirtyEntity(x);
    

    对于此类的实体,dirtyEntity总是求值为true。

    再仔细研究一下,我想我已经找到了问题的根源。我有一个属性映射到SQLServer中的nchar(15)列上。DB中的值有尾随空格,但对象上出现的值已被修剪。所以。。。以下是返回真。

    var x = session.Get<MyRecord>(123);
    var dirtyProperty = session.IsDirtyProperty(x, "Status");
    

    2 回复  |  直到 15 年前
        1
  •  1
  •   DanP    11 年前

    这可以通过使用 IUserType TrimString UNHAddins中的示例;您可以阅读它的用法 here .

        2
  •  2
  •   Faisal Feroz    15 年前