1

我有一个打开的SqlConnection(由 Dapper 扩展)、一个连接数据库中的表名,以及一个我相信属于相同模式的 JSON 字符串。在不反序列化为静态类型的情况下插入 JSON 对象的字段值的最简单方法是什么?

我意识到标准选项是创建一个代表要反序列化的记录的类。然而,这并不理想有几个原因。我正在以完全相同的方式同步许多表。模式已经存在于两个地方(源和目标),因此在中间件中重复模式似乎也是一种糟糕的形式。此外,由于我只是直接进入数据库,因此在有人添加额外的列或表时需要重新编译似乎是多余的。

有没有更动态的解决方案?

4

2 回答 2

2

可能反序列化为动态是您最好的选择。如果您想直接从字符串中提取值,则无论如何都必须(至少部分地)解析它,此时您不妨反序列化它

有关使用 JSON.net 的示例,请参阅此答案:Deserialize json object into dynamic object using Json.net

于 2013-11-13T21:41:38.837 回答
0

反序列化成字典,然后构造 Dapper DynamicParameters。

如何为 Dapper 查询动态创建参数

于 2013-11-13T23:56:18.333 回答