public void CanWriteSelectAllAndExpandToJsonUsingNewtonsoftJsonConverter() { // Arrange SelectAll <Order> expandOrder = new SelectAll <Order>(); expandOrder.Model = _edmModel; expandOrder.UseInstanceForProperties = true; expandOrder.Instance = new Order { Id = 21, Title = "new Order21" }; SelectAllAndExpand <Customer> selectExpand = new SelectAllAndExpand <Customer>(); MockPropertyContainer container = new MockPropertyContainer(); container.Properties["Orders"] = expandOrder; // expanded selectExpand.Container = container; selectExpand.Model = _edmModel; selectExpand.UseInstanceForProperties = true; selectExpand.Instance = new Customer { Id = 2, Name = "abc", Location = new Address { Street = "37TH PL", City = "Reond" } }; JSelectExpandWrapperConverter converter = new JSelectExpandWrapperConverter(); // Act string json = SerializeUtils.WriteJson(converter, selectExpand, true); // Assert Assert.Equal(@"{ ""Orders"": { ""Id"": 21, ""Title"": ""new Order21"" }, ""Id"": 2, ""Name"": ""abc"", ""Location"": { ""Street"": ""37TH PL"", ""City"": ""Reond"" } }", json); }
public override void Write(Utf8JsonWriter writer, SelectAllAndExpand <TEntity> value, JsonSerializerOptions options) { JsonSerializer.Serialize(writer, value.ToDictionary(SelectExpandWrapperConverter.MapperProvider), options); }