Exemplo n.º 1
0
        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);
        }