我有一个实体,对于其中一个字符串字段,我想使用 EF CoreExecuteSqlRawAsync扩展存储 jsonstring(相当于 MyObject 列表的 json)。
但是,我收到此错误:
输入字符串的格式不正确。
从 EF 出发
Microsoft.EntityFrameworkCore.Storage.Internal.RawSqlCommandBuilder.Build。
我使用的是 EF Core 3.1 版本。
请在下面找到与我正在尝试的类似的示例概述:
string query = "update mytable set column1 = 100, column2= '[{\"property1\":\"value1\",\"property2\":null}]' where condition;update mytable set column1= 200, column2= '[{\"property1\":\"value2\",\"property\":null}]' where condition;"
await this.Context.Database.ExecuteSqlRawAsync(query);
Run Code Online (Sandbox Code Playgroud)
如果我直接对 SQL Server 数据库运行相同的原始 SQL 语句,它就可以正常工作。
扩展中是否有一些限制,RawSql实体中的字符串字段不能有 jsonstring?
有关如何使用容纳 jsonstring 的字符串实体字段之一运行原始查询的任何帮助吗?
我正在尝试使用 AWS 托管 Kafka 实例 (MSK) 创建 Kafka 客户端应用程序(生产者和消费者)。此外,代理到代理的通信以及客户端到代理的通信通过集群中的 TLS 配置为安全。CA 是 AWS 私有 CA,因为这是 MSK 支持的唯一一种通过 TLS 进行客户端到代理身份验证的 CA。
问题上下文:AWS官方文档(https://docs.aws.amazon.com/msk/latest/developerguide/msk-authentication.html#msk-authentication-client)步骤更倾向于Java世界并处理客户端信任库和密钥库为 jks。但是.Net客户端不使用Java JKS容器格式(https://github.com/mhowlett/confluence-kafka-dotnet/tree/security/examples/Security)。
服务器验证客户端:这部分我能够解决。由于 jks 只是一个数据存储,因此在按照上述 aws 文档创建密钥库后,我运行了一些额外的 keytool 和 openssl 命令来显式提取客户端证书和密钥。我能够使用它成功地生成和使用消息。
但是,为了让客户端验证服务器,我需要将 ssl.ca.location 设置为 CA 根证书。从私有 CA(用作 MSK 实例的 CA)我已经下载了根 CA,默认情况下为 pem 格式(注意:这仅包含证书详细信息,不包含密钥详细信息)。使用以下命令将其转换为 .crt:
add pem to truststore : keytool -keystore kafka.client.truststore.jks -alias CARoot -importcert -file Certificate.pem
get cert from truststore : keytool -export -alias CARoot -keystore kafka.client.truststore.jks -rfc -file ca-root.crt
使用上面的 ca-root.crt 作为 ca …