【问题标题】:Why do I need nhibernate.dll referenced in my asp.net mvc project?为什么我需要在我的 asp.net mvc 项目中引用 nhibernate.dll?
【发布时间】:2009-12-01 21:31:39
【问题描述】:

我所有的数据逻辑都在我在我的 asp.net mvc 项目中引用的另一个数据层项目中。

现在如果我打电话:

CategoryDAO.GetById(1);

一切正常。

如果我打电话:

CategoryDAO.GetBlah(1);

VS.NET 抱怨说

"Error 102: The type 'NHibernate.Criterion.Order' is defined in an assembly 
that is not referenced. You must add a reference to assembly 'NHibernate,
Version=2.1.2.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4'."

如果我在我的网络项目中添加 nhibernate.dll 作为参考,它可以工作。

这是为什么?逻辑/代码在我的数据层,和GetById(1)的调用一样,为什么要加引用?

【问题讨论】:

    标签: visual-studio nhibernate assemblies


    【解决方案1】:

    我猜这是因为你的对象内置了延迟加载。 NHibernate 创建从您的类继承的代理对象(这就是您需要将方法声明为虚拟的原因)。我猜由于代理对象需要引用。

    【讨论】:

    • 代理由城堡动态代理或linfu创建
    猜你喜欢
    • 1970-01-01
    • 2021-11-26
    • 2015-01-08
    • 2018-11-29
    • 1970-01-01
    • 1970-01-01
    • 2011-04-23
    • 1970-01-01
    • 2017-01-18
    相关资源
    最近更新 更多