繁体   English   中英

使用 Entity Framework 存储库到 POCO 从 XML 列/字符串构建自定义 object 时出现问题

[英]Problem building a custom object off an XML column/string using Entity Framework repository to POCO

我在存储库模式中使用 Entity Framework 4.0 来填充我在另一个程序集中的 POCO 对象。 我的一个对象包含来自数据库的 XML 列(类上的字符串类型)。

不幸的是,这个 XML 字符串包含我需要用来检索其他对象(使用存储库)以构建另一个自定义 object 的主键 ID。 我一直在尝试使用域 object 上的自定义 get 访问器来执行此操作,该访问器尝试解析 XML 然后 go 从存储库获取。 问题是这导致我的 model 需要存储库并给我一个循环依赖。

有什么好方法可以做这样的事情吗? 也许是一些自定义代码来解析 EF 存储库层中的 XML 列和 map 我需要在我的 Z49DFAF35E6830CAF3 中的自定义 object 上需要什么?

任何回复都非常感谢,谢谢!

不,没有办法告诉 EF XML 列实际上是其他实体类型。 一旦将逻辑移至 get 访问器,您确实会中断创建 model 对持久性的依赖,这是您试图通过使用 POCO 删除的东西。 它会破坏你的领域驱动设计。

在域驱动设计中,加载对象是存储库的严格责任。 因此,您需要以允许您请求加载相关实体的方式构建您的检索方法,例如:

  • 加载主 object,解析 XML 并在同一存储库方法中加载关系
  • 或以单一方法加载主 object 并解析 XML 并以另一种方法加载关系

如果主 object 不是关系的聚合根(它们可以单独存在),您应该为相关对象创建单独的存储库并公开方法以加载由 XML 字符串定义的对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM