【问题标题】:Validation for Windows Forms Apps with Nhibernate使用 Nhibernate 验证 Windows 窗体应用程序
【发布时间】:2011-09-17 06:41:59
【问题描述】:

我一直在 Windows 窗体应用程序中使用 Nhibernate(具有流畅的 nhibernate 映射)并进行一些验证和绑定,我也一直在使用 NHibernate Validator,当我们尝试验证某些属性时,我们会遇到此错误:

无法从程序集“NHibernate,Version=3.2.0.4000,Culture=neutral,PublicKeyToken=aa95f207798dfdb4”加载类型“NHibernate.Bytecode.ProxyFactoryNotConfiguredException”。

有人可以帮助我们吗?

我们不知道发生了什么,在网上寻找一些解决方案,我们发现 nhibernate 验证器有一个错误,我们需要修复它或等待下一个版本,这是真的吗?

或者,如果有人可以推荐另一个好的组件来使用 nhibernate 验证/绑定 Windows 窗体应用程序,我们非常感谢。

谢谢!

【问题讨论】:

  • 您使用的是哪个版本的 NHV?

标签: c# winforms nhibernate validation nhibernate-validator


【解决方案1】:

看起来这是最新 (1.3.1) 版本 NHibernate Validator 中的 known bug。你可以

  • 自己修复它(来源可用)。可能相对容易。
  • 使用旧版本的 NHibernate(例如 3.1.0 应该与您的 NHV 版本兼容)。
  • 将验证封装在您的域对象中,这反过来又会使它们成为真正的对象,而不是简单的数据容器。

【讨论】:

  • 谢谢@Dmitry,我们得到了资源并修复了它。 :)
  • @Dmitry。除了验证(当然还有数据)之外,对象还可以有很多有趣的行为。一些验证行为更多地依赖于外部因素,比如当前的文化,而不是对象本身的性质。使用 NHV 的能力以使用一致的验证理念在单独的程序集中“扩展”对象是本垒打和非常合适的 OO,IMO。
  • 这个错误相对容易修复,这让我想知道为什么它自 2011 年 5 月以来仍然存在。开源是开源的,但我希望 NHV 能够得到它的开发者对它的喜爱比它在很长一段时间内得到的更多。
【解决方案2】:

检查您正在使用的 NHibernate 版本。您使用的 NHV 用于 NH 3.2。

【讨论】:

  • 我一直在使用我找到的唯一版本,版本 1.3.1.4000,是否有适用于 nhibernate 3.2 的版本?我在哪里可以找到它?
猜你喜欢
  • 2013-04-09
  • 2011-08-24
  • 1970-01-01
  • 2013-05-14
  • 1970-01-01
  • 2013-02-19
  • 2021-01-10
  • 1970-01-01
相关资源
最近更新 更多