【问题标题】:Error when trying to run Fluent NHibernate tutorial example尝试运行 Fluent NHibernate 教程示例时出错
【发布时间】:2019-10-19 08:42:23
【问题描述】:

我已经下载了 Fluent NHibernate 源代码分发,编译了解决方案中的所有项目,然后运行 ​​Examples.FirstProject。 FluentConfiguration.cs 方法 BuildSessionFactory() 中发生异常:创建 SessionFactory 时使用了无效或不完整的配置。我应该怎么做才能避免这个异常?

PS 我看到了this 的帖子,但它对我没有帮助

编辑: 异常消息 "以下类型不能用作代理:\nExamples.FirstProject.Entities.Employee:方法 set_Id 应该是 'public/protected virtual' 或 'protected internal virtual'\nExamples.FirstProject。 Entities.Product: 方法 set_Id 应该是 'public/protected virtual' 或 'protected internal virtual'\nExamples.FirstProject.Entities.Store: 方法 set_Id 应该是 'public/protected virtual' 或 'protected internal virtual'" 字符串

异常来源:“NHibernate”

异常堆栈跟踪: StackTrace " 在 NHibernate.Cfg.Configuration.ValidateEntities() 在 d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:line 1051\r\n 在 NHibernate.Cfg.Configuration.Validate()在 d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:line 958\r\n at NHibernate.Cfg.Configuration.BuildSessionFactory() in d:\CSharp\NH\NH\nhibernate\ src\NHibernate\Cfg\Configuration.cs:第 1250 行\r\n 位于 C:\_WorkProjects\_nHibernate\jagregory-fluent-nhibernate-c24de5a\src\FluentNHibernate\Cfg\FluentConfiguration 中的 FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory()。 cs:line 231" 字符串

【问题讨论】:

  • 我不知道有问题的教程项目,但这个异常可能有很多不同的根本原因。通常在 InnerException 中会提供更好的错误描述
  • 您需要发布完整的例外情况,我们可以从那里开始。使用 Exception.ToString() 并在此处发布。
  • 乔纳斯 H,什么是“InnerException”?异常实例的字段?
  • 此外,当您发布有关映射实体的问题时,如果您将实体和映射添加为代码,它会有所帮助:) 所以您知道
  • @cpoDesign 谢谢我下次这样做

标签: c# fluent-nhibernate


【解决方案1】:

转到(Examples.FirstProject -> Entities -> 并进入(Employee.cs、Product.cs 和 Store.cs)

从以下位置更改 Id 属性:

public virtual int Id { get; private set; }

收件人:

public virtual int Id { get; set; }

【讨论】:

    【解决方案2】:

    您的类型,Examples.FirstProject.Entities.Employee 应该将 ID 属性设置为

    public virtual int ID { get; set; }
    

    【讨论】:

    • @Windman 您是否将所有映射实体的所有属性都设为虚拟?
    • 我从github.com/jagregory/fluent-nhibernate 下载了错误的源文件(只需单击下载按钮)当我从官方网站fluentnhibernate.org 获取它时(仅限dll 文件)并添加到我的项目中一切正常!
    猜你喜欢
    • 2011-03-31
    • 1970-01-01
    • 2016-02-03
    • 1970-01-01
    • 2021-09-26
    • 1970-01-01
    • 2011-08-08
    • 1970-01-01
    • 2017-10-18
    相关资源
    最近更新 更多