public static MyNoSqlGrpcWriter <T> PlugJsonSerializer <T>(this MyNoSqlGrpcWriter <T> src) { src.PlugSerializerDeserializer(itm => Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(itm)), b => { var json = Encoding.UTF8.GetString(b.Span); return(Newtonsoft.Json.JsonConvert.DeserializeObject <T>(json)); } ); return(src); }
public async Task TestOneInsertGetAsList() { var services = TestUtils.CreateTestServiceCollection(); var server = services.GetRequiredService <IMyNoSqlGrpcServerWriter>(); var writer = new MyNoSqlGrpcWriter <TestEntity>(server, "test").PlugJsonSerializer(); await writer.CreateTableIfNotExistsAsync(); var srcEntity = new TestEntity { Id = 5, TestField = "test" }; await writer.Insert("pk", "rk", srcEntity).ExecuteAsync(); var result = await writer.Get().WithPartitionKey("pk").ExecuteAsync().ToListAsync(); Assert.AreEqual(srcEntity.Id, result[0].Id); Assert.AreEqual(srcEntity.TestField, result[0].TestField); }