我已经下载了 Fluent NHibernate 源代码分发版,编译了解决方案中的所有项目,然后运行 Examples.FirstProject。 FluentConfiguration.cs 中的方法 BuildSessionFactory() 发生异常:创建 SessionFactory 时使用了无效或不完整的配置。我应该怎么做才能避免这种异常?
PS 我看到了this发布但对我没有帮助
编辑: 异常消息“以下类型不能用作代理:\nExamples.FirstProject.Entities.Employee:方法 set_Id 应该是‘公共(public)/ protected 虚拟’或‘ protected 内部虚拟’\nExamples.FirstProject。 Entities.Product:方法 set_Id 应为“公共(public)/ protected 虚拟”或“ protected 内部虚拟”\nExamples.FirstProject.Entities.Store:方法 set_Id 应为“公共(public)/ protected 虚拟”或“ protected 内部虚拟””字符串
异常来源:“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 在 NHibernate.Cfg.Configuration.BuildSessionFactory() 在 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:第 231 行"字符串
最佳答案
转到(Examples.FirstProject -> Entities -> 并在(Employee.cs、Product.cs 和 Store.cs)中
更改 Id 属性:
public virtual int Id { get; private set; }
收件人:
public virtual int Id { get; set; }
关于c# - 尝试运行 Fluent NHibernate 教程示例时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7089970/