2011-08-17 52 views
1

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

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应该是'公共/受保护的虚拟'或'受保护的内部虚拟'字符串

异常源: “NHibernate的”

异常堆栈跟踪: 堆栈跟踪“在NHibernate.Cfg.Configuration.ValidateEntities()在d:\ CSHARP \ NH \ NH \的nhibernate \ SRC \ NHibernate的\ CFG \配置。在NHibernate.Cfg.Configuration.Validate()中的1051 \ r \ n在d:\ CSharp \ NH \ NH \ nhibernate \ src \ NHibernate \ Cfg \ Configuration.cs中:第958行\ n在NHibernate.Cfg在C:\ WorkProjects \中的FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory()中的1250 \ r \ n行:在C:\ WorkProjects \ _nHibernate \ jagregory-fluent-nhibernate-c24de5a \ src \ FluentNHibernate \ Cfg \ FluentConfiguration.cs:line 231“string

+0

我不知道有问题的教程项目,但是这个例外可能有很多不同的根本原因。通常在InnerException中有更好的错误描述 –

+1

你需要发布完整的异常,我们可以从那里去。使用Exception.ToString()并在这里发布。 –

+0

Jonas H,什么是“InnerException”?异常实例的字段? –

回答

4

Windman转到(Examples.FirstProject - >实体 - >和(Employee.cs,Product.cs和商店的.cs)

更改ID财产:

public virtual int Id { get; private set; } 

要:

public virtual int Id { get; set; } 
0

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

public virtual int ID { get; set; } 
+0

我试过了,但它不起作用。同样的例外。 –

+0

@Windman你让所有映射实体的所有属性都是虚拟的吗? –

+0

我从https://github.com/jagregory/fluent-nhibernate下载错误的源文件(只需点击下载按钮)当我从官方网站http://fluentnhibernate.org/(只有dll文件)获取它并添加到我的项目一切工作正常! –