RavenDB 在模型命名空间更改后抛出转换异常

2024-01-15

在数据库中,我已经存储了数百个文档。现在系统架构已经改变,并且(除其他外)模型被迁移到不同的命名空间(在不同的程序集中)。

下面显示了示例文档的元数据:

以及我用来获取此类文档的代码:

var configuration = documentSession.Load<One.Social.Core.Entities.Setting>("Setting");

这会抛出铸造异常:

[InvalidCastException: Unable to cast object of type 'One.QA.Core.Entities.Setting' to type 'One.Social.Core.Entities.Setting'.]

UPDATE:

类似的错误来自 NewtonsoftJson,而我在文档中有指定类型的集合,但现在已更改。

在数据库中,我有问题文档,其中包含答案列表:

在代码中,类型如下所示:

namespace One.Social.Ask.Web.Models
{
    public class Question
    {        
        public string Content { get; set; }
        public IList<One.Social.Ask.Web.Models.Answer> Answers { get; set; }        
    }
}

答案名称空间已更改。另外,现在它派生自IList,不再是ICollection。我不需要$type现在元,它应该是:

enter image description here.

虽然现在是一个列表,但由于旧的,会出现错误$type信息:

Newtonsoft.Json.JsonSerializationException: Error resolving type specified in JSON 'System.Collections.ObjectModel.Collection`1[[One.QA.Core.Entities.Answer, One.QA.Core]], mscorlib'. ---> Newtonsoft.Json.JsonSerializationException: Could not find type 'System.Collections.ObjectModel.Collection`1[[One.QA.Core.Entities.Answer, One.QA.Core]]' in assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

迁移所有文档以反映当前类型名称的最佳方法是什么?有什么内置机制吗?

顺便说一句:我正在使用 RavenDB - Build #960


我遇到了同样的问题并最终这样做了:

Advanced.DatabaseCommands.UpdateByIndex(
    "Raven/DocumentsByEntityName",
        new IndexQuery {Query = "Tag:Album"},
        new []{ new PatchRequest() { 
            Type = PatchCommandType.Modify, 
            Name = "@metadata", 
            Nested= new []{ 
                new PatchRequest{
                    Name= "Raven-Clr-Type",
                    Type = PatchCommandType.Set,
                    Value = "Core.Model.Album, Core" }}}},
        false);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RavenDB 在模型命名空间更改后抛出转换异常 的相关文章

  • XNA 窗口调整大小调用 LoadContent

    每当我将 XNA 窗口大小调整到尽可能小的分辨率 0 像素高 时 程序都会再次开始调用 LoadContent 这会导致我的应用程序崩溃 因为我只希望它加载内容一次 我能做什么 有没有办法阻止用户过度调整窗口大小 例如 Java 中的 se
  • .NET 的 BLOB 分布式存储?

    我正在寻找一个经过相当好的测试的库 服务器来存储持久的分布式哈希表 我对使用基于 SQL 的解决方案犹豫不决 因为数据是高度面向文档的 由数百万个约 64KB 的 blob 组成 只有一个索引 由所述 BLOB 的哈希计算 并且需要能够进行
  • 颜色变换器功能上的堆栈溢出错误

    我有两种颜色 红色 和 鲑鱼色 我需要动态创建面板以及面板背景颜色 这些颜色必须介于两种颜色之间 红色 public Color x y protected void Page Load object sender EventArgs e
  • 以编程方式获取命名管道的系统名称

    我正在使用 WCF NetNamedPipeBinding 编写进程间通信 我的目标是让服务在 net pipe localhost service 上运行 所以我运行最简单的主机 host new ServiceHost contract
  • .NET - MVC 应用程序外部的 Razor - 删除 @inherits 和提供 @model 时出现问题

    抱歉问了这么长的问题 我把它分成了三个问题 可以分别阅读 如果你能帮我解决一个问题 请帮我 我有一个 Razor 引擎的自定义实现 所有作品和模板均已编译并可以使用 手头有一些实现涉及具有通用的基类Model允许强类型视图 模板 的属性 此
  • 在网站/Web 应用程序项目和 Script#/ScriptSharp 之间共享代码

    我向我的网站项目添加了一个 Script 项目 并创建了一个包含两个类的小型示例库 现在我想使用网站代码中的这些类 在本例中 我创建了一个简单的对象树并将其序列化为 JSON 然后由客户端代码获取 我尝试添加对 Script 项目的引用 它
  • 如何防止打印屏幕

    我有一个要求 我正在开发的应用程序阻止用户轻松捕获屏幕内容 我已经表示 没有可行的方法可以完全防止这种情况发生 但我正在寻找方法来为这一过程引入一些障碍 我正在使用 C NET 2 0 和 WinForms 你不能 您能做的最好的事情就是在
  • BlockingCollection.Dispose 实际上做了什么?

    BlockingCollection Dispose 实际上做了什么 这允许正确处理内部等待句柄 BlockingCollection
  • List 与 IEnumerable 的协变和逆变

    所以 假设我有 Public Interface ISomeInterface End Interface Public Class SomeClass Implements ISomeInterface End Class 如果我有MyL
  • 从 .resx 文件组获取所有可用区域性

    我需要以编程方式列出 resx 文件组中的可用区域性 但 ResourceManager 类似乎没有帮助 我可能有 Labels resx Labels fr FR resx Labels ro RO resx 等等 但是 我如何在运行时找
  • Visual Studio 2013 中的内存分析

    我想探索如何在我的应用程序中分配内存 我有 C 控制台应用程序并使用 Visual Studio 2013 Professional I go to Analyze gt 性能和诊断并选择 NET内存分配 结果我得到以下总结 图表中每次CP
  • 找不到 OAuth2 参数

    我正在尝试使用 OAuth 2 0 来授权 google docs API 根据谷歌给出的例子https developers google com google apps documents list authorizing reques
  • 如何使用 vb.net 将数据插入 Access 表?

    我想在 Access 数据库中插入一个新行 我正在考虑做类似的事情 oConnection new Connection connectionstring oTable oCennection table Orders oRow oTabl
  • 基于 Web.Config 使用的 GAC 程序集版本

    Good Day 我有一个在 GAC 中使用自定义程序集的项目 为了能够使用它 我在中添加了对我的项目的引用 C WINDOWS Microsoft NET assembly GAC MSIL JOHN CommonLib v4 0 1 0
  • C# 创建包含多个文件的 ZIP 存档

    我正在尝试创建包含多个文本文件的 ZIP 存档 如下所示 Dictionary
  • 在 Javascript 中本地化字符串

    我目前正在使用 resx文件来管理我的 NET 服务器端资源 我正在处理的应用程序还允许开发人员将 JavaScript 插入各种事件处理程序中以进行客户端验证等 对我来说本地化 JavaScript 消息和字符串的最佳方法是什么 理想情况
  • 无法在.net core中使用WCF WSHttpBinding

    我正在尝试将我的项目从 net 移动到 net core 我最初在 net 中使用 WCF WSHttpBinding 服务 但无法在 net core 中使用相同的服务 我尝试使用 BasicHttpBinding 在客户端与 WsHtt
  • 如果浏览器在 asp .net 中关闭,请从浏览器中注销?

    我的要求有点复杂 用户正在使用 Web 浏览器访问数据库 而在访问数据库时 如果用户关闭活动页面而不是注销会话 该会话需要自动注销 有人可以指导我如何做这个吗 我在母版页中使用了jquery onbeforeunload 我收到消息离开页面
  • 是什么原因导致 Linq 错误:此方法无法转换为存储表达式?

    我有一堆具有相同 select 语句的 Linq to Entity 方法 所以我想我会很聪明 并将其分离到它自己的方法中以减少冗余 但是当我尝试运行代码时 我得到了以下内容错误 该方法不能转化为 商店表达式 这是我创建的方法 public
  • 创建带有部分的选项卡式侧边栏 WPF

    我正在尝试创建一个带有部分的选项卡式侧边栏 如 WPF 中的以下内容 我考虑过几种方法 但是有没有更简单 更优雅的方法呢 方法一 列表框 Using a ListBox并将 SelectedItem 绑定到右侧内容控件所绑定的值 为了区分标

随机推荐

  • UserProfile 状态在 bot v4 中的用户之间保持不变

    当我有两个机器人实例时 如果我将机器人部署到 Azure 则可以是两个模拟器窗口或两个浏览器 输入的第一个名称对于所有其他实例都是持久的 实例一 https i stack imgur com WsPw7 jpg https i stack
  • 将spawn()的stdout/stderr重定向到Ruby中的字符串

    我想使用spawn 对于多个并发子进程 在Ruby 中执行外部进程 并将stdout 或stderr 收集到一个字符串中 这与使用Python 的子进程Popen communicate 可以完成的方式类似 我尝试将 out err 重定向
  • ReadableByteChannelImpl 如何处理中断

    我正在尝试使用Channels newChannel包装输入流以支持中断 我看到了关于这是否有效的相互矛盾的信息 包括 ReadableByteChannelImpl 中的注释 Not really interruptible In Rea
  • 带有字符串键的 Lua 表不能使用数字索引?

    我是 Lua 的初学者 我认为使用字符串键将值推送到表中也会自动执行数字索引 但我认为我错了 我的代码 local t t name John t age 30 print Name t name nAge t age 虽然这段代码运行良好
  • 使用 css 3d 转换后如何修复 Safari 5 Mac OS X 中的脆文本?

    当应用 css 3d 变换的元素之后 相对和绝对定位的元素触发奇怪的行为时 我遇到了问题 为了解决这个问题 我必须设置背景颜色 但是如果我需要透明度怎么办 这是重现该错误的最低限度 http jsfiddle net 8VABq 3 htt
  • 如何获取 DD-MM-YYYY 格式的日期

    我正在使用 Parse 数据库 我存储日期格式 使用控制台时我得到这种格式 Tue Jul 18 2017 15 46 47 GMT 0100 CET 我想获得这种格式 18 07 2017 有什么想法请 可以使用以下代码来完成 let t
  • 抓取屏幕分辨率并根据大小显示结果

    我正在尝试根据屏幕分辨率大小显示数据库的结果 我上周发布了一个关于如何获取宽度的问题 并且能够在此处的一些想法的帮助下提出这个jquery 但无法完成第二个方面 即根据大小显示结果
  • 您正在使用遗留实现。请更新您的代码:使用createWrapper() 和wrapper.useWrappedStore()。 nextjs 还原?

    我在使用 redux 工具包和 next js 时遇到错误 我面临着这个遗留警告 You are using legacy implementaion Please update your code use createWrapper an
  • 填充 NaN 值

    我有一个数据框 TIMESTAMP P ACT KW PERIODE TARIF P SOUSCR 2016 01 01 00 00 00 116 HC 250 2016 01 01 00 10 00 121 HC 250 2016 01
  • doc.save() 与 jspdf 抛出错误

    当我尝试使用 jsPDF 的 save 函数时 它抛出以下错误 ReferenceError saveAs 未定义 我只是尝试一个非常简单的例子 var doc new jsPDF doc text 20 20 Hello world do
  • 什么是类型和效果系统?

    The 维基百科文章关于效果系统 http en wikipedia org wiki Effect system目前只是一个简短的存根 我有一段时间想知道什么是效果系统 除了类型系统之外 是否还有其他语言还具有效果系统 可能的 假设的 符
  • 在运行时枚举 .NET 程序集资源

    我有一个资源程序集 其中包含使用构建的图像文件Resource or Content建立行动 这使得可以使用 Uris 访问这些文件 但是我找不到枚举此类资源的方法 如果我将构建操作设置为嵌入式资源可以使用以下代码枚举文件 string r
  • 使用 GADT 在 Haskell 中重新创建 Lisp 的“apply”

    作为练习 我正在尝试重新创建 Lispapply在哈斯克尔 我不打算将其用于任何实际目的 我只是认为这是一个更好地熟悉 Haskell 类型系统和一般类型系统的好机会 所以我也不是在寻找其他人的实现 我的想法如下 我可以使用 GADT 来
  • 如何访问NTAG213 NFC交互计数器?

    我正在开发一个 Android 应用程序 我需要查找 NFC 标签被读取的次数 我已经浏览了 NFC 论坛上的文档 对于 NTAG213 有一个名为 MIRROR CONF 的字段 使用该字段可以确定交互计数器是否启用 禁用以及计数器的值
  • 如何用java播放.wav文件

    我正在尝试用 Java 播放 wav 文件 我希望它执行以下操作 按下按钮时 会发出短促的蜂鸣声 我用谷歌搜索了一下 但大部分代码都不起作用 有人能给我一个简单的代码片段来播放 wav 文件吗 最后我设法做到了以下几点并且效果很好 impo
  • p 与 ol 或 ul 的表单样式

    通常我使用无序列表标签来设计表单 例如 fieldset ul li li ul fieldset
  • 在 Android 上使用 Jackson 库解析大型 JSON 时出现内存不足错误

    我正在使用 Jackson 库来解析来自服务器的大型 JSON 响应 json 的大小约为 7 8 MB 我在这段代码上遇到了 outOfMemoryError ObjectMapper mapper new ObjectMapper Js
  • Gitlab docker executor - 在 before_script 之后缓存图像

    In gitlab ci有一个选项 gitlab ci yml http doc gitlab com ce ci yaml README html文件在任何实际脚本运行之前执行命令 称为before script gitlab ci ym
  • JavaFX 应用程序抛出 NullPointerExceptions 但仍然运行

    我运行的每个 JavaFX 应用程序都会抛出两个 NullPointerException 它们不会阻止甚至影响项目的执行 并且只有在调试模式下运行应用程序时我才能看到它们 我什至遇到了来自 Oracle 的 HelloWorld 示例和这
  • RavenDB 在模型命名空间更改后抛出转换异常

    在数据库中 我已经存储了数百个文档 现在系统架构已经改变 并且 除其他外 模型被迁移到不同的命名空间 在不同的程序集中 下面显示了示例文档的元数据 以及我用来获取此类文档的代码 var configuration documentSessi