public void Contains() { var set = this.Database.Set <Test001>(this.Transaction); var data = new List <Test001>(); set.Clear(); data.AddRange(new[] { new Test001() { Field1 = "1", Field2 = "3", Field3 = "A" }, new Test001() { Field1 = "2", Field2 = "2", Field3 = "B" }, new Test001() { Field1 = "3", Field2 = "1", Field3 = "C" } }); set.AddOrUpdate(data); var query = this.Database.AsQueryable <Test001>(this.Transaction); var element1 = data[1]; var element2 = new Test001(); Assert.IsTrue(query.Contains(element1)); Assert.IsFalse(query.Contains(element2)); }
public void CanIncrement_Numeric() { var subject = new Test001(); var incrementor = new LambdaPropertyIncrementorStrategy().CreateNumericIncrementor <Test001>( typeof(Test001).GetProperty("Version") ); for (var a = 0; a < 1024; a++) { Assert.AreEqual(a, subject.Version); incrementor(subject); } }
public void Delete_ConcurrencyFailure_Numeric() { var set = this.Database.Set <Test001>(this.Transaction); set.Clear(); var data = new Test001() { Field1 = "1", Field2 = "2", Field3 = "3" }; set.AddOrUpdate(data); Assert.AreEqual(0, data.Version); data.Field1 = "updated"; set.AddOrUpdate(data); Assert.Greater(data.Version, 0); data.Version--; Assert.Throws <InvalidOperationException>(() => set.Remove(data)); }