public void ForeignKeyFilter() { var baseGuid = Guid.NewGuid(); var fooGuid = Guid.NewGuid(); long fooID; using (IUnitOfWork unitOfWork = this.unitOfWorkFactory.Create()) { var foo = new FooPartitioned { Guid = fooGuid }; var baseClass = new BaseClassPartitioned { Foo = foo, Guid = baseGuid }; unitOfWork.Add(baseClass); unitOfWork.Save(); fooID = foo.ID; } using (IUnitOfWork unitOfWork = this.unitOfWorkFactory.Create()) { var baseClassByID = unitOfWork.Query <BaseClassPartitioned>().SingleOrDefault(c => c.Foo.ID == fooID); var baseClassByGuid = unitOfWork.Query <BaseClassPartitioned>().SingleOrDefault(c => c.Foo.Guid == fooGuid); Assert.IsNotNull(baseClassByID); Assert.IsNotNull(baseClassByGuid); Assert.AreEqual(baseGuid, baseClassByID.Guid); Assert.AreEqual(baseGuid, baseClassByGuid.Guid); } }
private static bool Compare(BaseClassPartitioned expected, BaseClassPartitioned actual) { return(expected.ID == actual.ID && expected.Guid == actual.Guid && expected.PartitionGuid == actual.PartitionGuid); }