问题标签 [castle-activerecord]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nhibernate - Castle ActiveRecord 映射问题
作为昨天讨论的结果,我决定使用 Castle ActiveRecord 来完成我的 ORM 任务。我已经根据入门指南为类添加了属性。在修复了一些明显的错误后,我收到了这样的问候:
找不到 CLASS_XXX 或其根类型 Castle.ActiveRecord.ActiveRecordBase 的配置,这通常表明配置未正确设置
错误消息中的 CLASS_XXX 是我的 c# 类名之一。有趣的是每次运行代码时 CLASS_XXX 都不一样。我打开了 log4net 并且我的 log.txt 没有捕获任何内容。所以,我猜这个错误发生在进程到达 NHibernate 之前。
以下是我的 CSharp 代码
有什么建议可以找到这个问题的真正原因吗?
c# - 使用 Castle ActiveRecord 属性进行自动类型转换
我有一个带有 DateTime 属性的 Castle ActiveRecord 类。我正在从文本文件中导入数据,并且希望能够执行以下操作:
在最后的分配中,在幕后,理想情况下会检查 的类型date_started
,如果是 DateTime,则执行分配,否则执行Convert.ToDateTime(date_started)
。
我不能覆盖访问器[*],并且隐式运算符仅在转换为包含类或从包含类转换时才起作用。我尝试使用隐式运算符转换扩展 DateTime,但发现它已被密封。现在我是一个非常不开心的动态程序员,卡在一个静态类型的世界里。
我当然可以“手动”进行检查,但我正在实例化许多具有许多属性的不同对象,并且希望能够循环它们(使用反射),而不必对特定属性进行特殊处理。我可以定义自己的自定义访问器,但这同样需要在赋值时进行特殊处理,因为它们需要像方法 ( setX(val)
) 而不是属性 ( X = val
) 那样使用。
C# (2.0) 或 Castle ActiveRecord 可以为我提供任何干净的方法来在后台获取 String -> DateTime 转换吗?
nhibernate - 为什么 NHibernate 延迟加载绑定到会话?
使用 Castle ActiveRecord,我在延迟加载时偶然发现了一个问题。
以下作品(显然)
由于我需要在特定上下文中修改会话过滤器(使用拦截器),因此我创建了一个新的 SessionScope。
最后一行“singleUser.Groups”抛出一个 LazyInitializationException:“未能延迟初始化角色集合:组,没有会话或会话已关闭”。
但是,所有其他会话操作都可以正常工作。因此,似乎“singleUser”绑定到了现在处置的 SessionScope。为什么?以及如何解决这个问题?
c# - 如何在 Castle ActiveRecord 中获取对 SqlConnection(或连接字符串)的引用?
如何在配置中获取对当前 SqlConnection 或 Sqlconnection 的引用?
和代码
但我不明白在哪里可以找到“GetConfigSource”实现?这个标准的城堡助手功能与否?
我使用这些命名空间
c# - 城堡 - ActiveRecord - 继承
我试图避免在所有 ActiveRecord 类中创建相同的属性,所以我编写了这个:
有一个基类,我有我的共同属性:Id
, Version
, LastUpdate
, 等等...
然后我的“子”类将拥有自己的属性,并且应该从我的IdentityBase
.
现在我创建一个对象用户:
我可以打电话user.Save()
但我不能打电话user.FindAll()
和许多其他公共方法....
我该如何解决这个问题?
c# - 部分延迟加载
我有一个对象用户,它可以有多个帖子。
例子:
在帖子上使用延迟加载加载用户IList<User> users = User.LoadAll()
然后我只想读取“一半”的users[2].Posts[3]
(仅从该帖子对象中检索我想要的属性而不是所有属性),这可能吗?
(注意,我不想使用视图)。
编辑:有人可以给我一个简单的示例代码吗?我试图找到一个没有成功。谢谢
c# - C# Castle ActiveRecord:如何优雅地 (XML) 序列化 ActiveRecord 对象?
我很难找到有关如何优雅地序列化 ActiveRecord 对象的信息。
我们希望使用 XML 作为格式,因为我们需要以这样一种方式输出我们的对象,以便另一个程序能够有效地解析它们。
XML-Serialization 通常实现起来非常简单直接,但是在尝试序列化从 ActiveRecord 数据库返回的对象时就会出现问题。数据库返回对象的代理类,其类型无法通过[XmlInclude]
属性明确预测。
例如:
在此处进行序列化时,我们将收到一条消息:
“类型 FooProxy2e2de24df9be42909d13a67fdb00b981 不是预期的。使用 XmlInclude 或 SoapInclude 属性指定静态未知的类型。”
其中代理类型将完全不可预测(至少据我所知)。
作为一个临时解决方案,我的团队已将每个 AR 对象的属性存根到接口中。然后,我们为每个对象实现了“容器”对象,它们本质上是对象的 Xml-Serializable 非 AR 版本。考虑到我们目前有 18 个不同的 AR 对象被序列化,这是我们解决方案中的 36 个附加文件!有些东西(一切)告诉我这是一个糟糕的解决方案,但我一直无法找到更好的方法。
我们也尝试使用 Soap Formatter,但由于 ActiveRecrodLinqBase<> 没有“标记为可序列化”,这也是一个死胡同。
sql-server - Castle Active Record 无法执行查询,因为表名等于关键字
我正在尝试从 Castle Active 记录中进行“入门”,现在我遇到了这个问题,无法执行查询异常
select count(*) as col_0_0_ from User user0_ where 1=1 //这是 SQL Server 2008
问题:我可以以某种方式让城堡将表名放入 [] 中,如 [User] 吗?
castle-activerecord - 如何在 Castle ActiveRecord 中使用复合键
我读到,为了使用 Castle ActiveRecord 映射一个类,该类必须有一个主键(代理或复合)。
现在,假设我有一个只想用于阅读的表,并且该表没有代理键或自然复合键。
有没有办法仍然可以生成一些手动 Guid(或其他 id)来使映射类成为可能?
同样,该表仅用于阅读目的。
database - ActiveRecord 查询(城堡、性能)
我有 3 张桌子:
- 零件::
Name
内部名称,Active
:布尔 - 语言:语言列表(英语、法语、德语……)
- PartsTranslations :
RealName
和其他 2 个表的 ID。
我想获得一份零件列表,告诉我内部name
、active
状态和缺少多少翻译(总语言减去翻译)
我做了这个 SQL 查询,它给了我我需要的东西(我不知道这是否是更好的方法,但它正在工作):
1º 问题- 如何使用 Castle ActiveRecord 进行此查询?
2º question-最终查询的性能如何(昂贵的)?
谢谢