Entity framework core 实体框架核心Cosmos DB system.object映射
我有一个具有以下属性的实体 公共字符串id{get;set;} 公共对象有效负载{get;set;} 这用于在给定实体上保存不同类型的对象。因此,实体可以在属性上具有PayloadA类型和PayloadB类型(无基类) 我想把这个保存到宇宙数据库。 当我使用CosmosClient而不是EF时,我会得到以下文档结构(请注意,负载是按原样序列化的,您可以查询其属性:Entity framework core 实体框架核心Cosmos DB system.object映射,entity-framework-core,azure-cosmosdb,Entity Framework Core,Azure Cosmosdb,我有一个具有以下属性的实体 公共字符串id{get;set;} 公共对象有效负载{get;set;} 这用于在给定实体上保存不同类型的对象。因此,实体可以在属性上具有PayloadA类型和PayloadB类型(无基类) 我想把这个保存到宇宙数据库。 当我使用CosmosClient而不是EF时,我会得到以下文档结构(请注意,负载是按原样序列化的,您可以查询其属性: { "id": "3ead3cbd-88de-4f0c-a0b8-05f77465c247&q
{
"id": "3ead3cbd-88de-4f0c-a0b8-05f77465c247",
"Payload": {
"Property1": "0cd89dd5-0eee-4351-8e91-5e72432b0fe2"
},
"_rid": "5NIOAJz8J98rLQAAAAAAAA==",
"_self": "dbs/5NIOAA==/colls/5NIOAJz8J98=/docs/5NIOAJz8J98rLQAAAAAAAA==/",
"_etag": "\"9101c348-0000-0d00-0000-5f48f3ae0000\"",
"_attachments": "attachments/",
"_ts": 1598616494
}
当我使用实体框架时,由于找不到任何转换(递归性错误),我会收到一个错误。如果我将HasConversion()与JSon序列化转换一起使用,则文档中的有效负载属性将被视为字符串,因为它已序列化
{Payload: "{\"GroupKey\":\"26f65281-b527-44ab-8aed-f1ef6c53ae2a\"}
这使得我无法对我所需要的宇宙进行质疑
有没有办法存储system.object拥有的实体及其属性保持不变?我认为您需要为有效负载定义自定义对象;