Orm 用.NET3.5编写的CastleActiveRecord教程?
有人用C#3.5试用过ActiveRecord吗? 不知怎的,我觉得样品完全错了,或者只是过时了。XML配置完全错误:Orm 用.NET3.5编写的CastleActiveRecord教程?,orm,.net-3.5,documentation,castle-activerecord,Orm,.net 3.5,Documentation,Castle Activerecord,有人用C#3.5试用过ActiveRecord吗? 不知怎的,我觉得样品完全错了,或者只是过时了。XML配置完全错误: <add key="connection.connection_string" value="xxx" /> 应该是: <add key="hibernate.connection.connection_string" value="xxx" /> (如果我正确理解nhibernate配置语法..) 我想知道我做错了什么。在用户模型上调用Co
<add key="connection.connection_string" value="xxx" />
应该是:
<add key="hibernate.connection.connection_string" value="xxx" />
(如果我正确理解nhibernate配置语法..)
我想知道我做错了什么。在用户模型上调用Count()时,出现“无法为用户执行ExecuteQuery”异常
不知道这会是什么。教程源代码与页面上的源代码有很大不同(最显著的是XML配置),它是一个VS2003示例,在大多数情况下都有不同的语法(没有泛型等)
有什么建议吗?ActiveRecord看起来棒极了。删除所有配置项的“
hibernate.
”部分。您的第一个示例是正确的。在NHibernate 2.0版中删除了密钥的“休眠”部分。
此版本适用于NHibernate 2.0以后的版本:
<add key="connection.connection_string" value="xxx" />
来自主干的城堡的,应该针对NH 2.0运行。后一种方法的问题是,NH2.0中引入的一些其他突破性更改可能无法在快速启动中修复。(这对于评论文章来说太长了)
[@Tigraine]从您对我之前答案的评论来看,错误似乎不在于配置,而在于您的一个实体。删除“hibernate”更正了配置,从而避免了真正的错误,即实体“Post”没有正确地归属于ActiveRecord以创建其映射
如果您进一步了解它给出的错误,它可能有一些关于“Post”失败的细节
一些常见的事情包括:
- 该类没有
[ActiveRecord]
属性
- 没有具有
[PrimaryKey]
属性的属性
- 没有名为“Post”的匹配表(如果
pluralizetablename
为“true”,则为“Posts”)
- 属性属性没有匹配列
- 您的属性属性和公共方法不是
虚拟的
(这一个一直让我很难受)
这将导致以下错误:“从类ActiveRecord添加信息时出错。发布到NHibernate。检查内部异常以了解更多信息”,只要休眠。部分在配置中,我至少可以调用ActiveRecordStarter.Initialize(),没有异常。我会检查两件事中的一件:1)你使用的是什么版本的ActiveRecord?2) 您的配置文件中是否有键入错误或缺少密钥?我刚从Castle.ActiveRecord页面下载了最新版本,大约一小时前。并得到了他们的样本。。这就是我安装的:也许我有一个旧版本。但是我的配置键必须从hibernate.XX开始。我现在可以让它运行了。教程中的配置仍然是错误的(对我来说)