public void CanGetIdWithCorrectCaseWithTransforms() { using (var store = NewDocumentStore()) { store.Conventions.CustomizeJsonSerializer = serializer => serializer.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; store.Conventions.FindFullDocumentKeyFromNonStringIdentifier = (id, type, allowNull) => id.ToString(); new Agency_Entity().Execute(store); new AgencyTransformer().Execute(store); var code = "code"; using (var session = store.OpenSession()) { var agency = new AgencyDb(); agency.Id = Guid.NewGuid(); agency.Name = "my-name"; agency.Code = code; var country = new AgencyCountryDb(); country.AgencyId = agency.Id; country.Country = "The-Country"; agency.Countries = new AgencyCountryDb[] { country }; session.Store(agency); session.SaveChanges(); } using (var session = store.OpenSession()) { var query = session.Query <AgencyDb, Agency_Entity>() .TransformWith <AgencyTransformer, Agency>() .Customize(x => x.WaitForNonStaleResultsAsOfLastWrite()); var agency = Queryable.Where(query, x => x.Code == code) .SingleOrDefault(); Assert.NotNull(agency); Assert.True(agency.Countries[0].Agency.Code == agency.Code); } } }
public void CanGetProperError() { using (var store = NewDocumentStore()) { store.Conventions.CustomizeJsonSerializer = serializer => serializer.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; store.Conventions.FindFullDocumentKeyFromNonStringIdentifier = (id, type, allowNull) => id.ToString(); new Agency_Entity().Execute(store); var code = "code"; using (var session = store.OpenSession()) { var agency = new AgencyDb(); agency.Id = Guid.NewGuid(); agency.Name = "my-name"; agency.Code = code; var country = new AgencyCountryDb(); country.AgencyId = agency.Id; country.Country = "The-Country"; agency.Countries = new AgencyCountryDb[] { country }; session.Store(agency); session.SaveChanges(); } using (var session = store.OpenSession()) { var query = session.Query <AgencyDb, Agency_Entity>().Customize(x => x.WaitForNonStaleResultsAsOfLastWrite()); var ex = Assert.Throws <JsonSerializationException>(() => query.Where(x => x.Code == code).As <Agency>() .SingleOrDefault()); Assert.Equal("Could not read value for property: Countries", ex.Message); Assert.NotNull(ex.InnerException); } } }