Orm 用.NET3.5编写的CastleActiveRecord教程?

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

有人用C#3.5试用过ActiveRecord吗? 不知怎的,我觉得样品完全错了,或者只是过时了。XML配置完全错误:

<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开始。我现在可以让它运行了。教程中的配置仍然是错误的(对我来说)