public void TestSavingCallbackCalled() { var context = new MyEntityContext(_connectionString); _changedItems.Clear(); context.SavingChanges += LogChangedItems; var alice = new Person {Name = "Alice"}; context.Persons.Add(alice); var bob = context.Persons.Create(); bob.Name = "Bob"; context.SaveChanges(); Assert.AreEqual(2, _changedItems.Count); Assert.IsTrue(_changedItems.Cast<Person>().Any(p=>p.Id.Equals(alice.Id))); Assert.IsTrue(_changedItems.Cast<Person>().Any(p=>p.Id.Equals(bob.Id))); _changedItems.Clear(); bob.Friends.Add(alice); context.SaveChanges(); Assert.AreEqual(1, _changedItems.Count); Assert.IsTrue(_changedItems.Cast<Person>().Any(p => p.Id.Equals(bob.Id))); _changedItems.Clear(); var skill = new Skill {Name = "Programming"}; context.Skills.Add(skill); context.SaveChanges(); _changedItems.Clear(); skill.SkilledPeople.Add(bob); context.SaveChanges(); Assert.AreEqual(1, _changedItems.Count); Assert.IsTrue(_changedItems.Cast<Person>().Any(p => p.Id.Equals(bob.Id))); _changedItems.Clear(); }
public void TestQueryOnPrefixedIdentifier() { var storeName = Guid.NewGuid().ToString(); var context = new MyEntityContext("type=embedded;storesdirectory=c:\\brightstar;storename=" + storeName); var skill = new Skill(); skill.Name = "Fencing"; skill.Id = "fencing"; context.Skills.Add(skill); context.SaveChanges(); var skillId = skill.Id; Assert.IsNotNull(skillId); Assert.AreEqual("fencing",skill.Id); var foundSkill = context.Skills.Where(s => s.Id.Equals(skillId)).FirstOrDefault(); Assert.IsNotNull(foundSkill); Assert.AreEqual("Fencing", foundSkill.Name); }
public void TestAddGeneratesIdentity() { string storeName = Guid.NewGuid().ToString(); var dataObjectStore = _dataObjectContext.CreateStore(storeName); var context = new MyEntityContext(dataObjectStore); var skill = new Skill {Name = "Bar"}; var person = new Person {Name = "Kal"}; //var person2 = new Person2 {Name = "Jen"}; var company = new Company {Name = "NetworkedPlanet"}; context.Persons.Add(person); //context.Person2s.Add(person2); context.Skills.Add(skill); context.Companies.Add(company); context.SaveChanges(); dataObjectStore = _dataObjectContext.OpenStore(storeName); context = new MyEntityContext(dataObjectStore); var foundPerson = context.Persons.Where(p => p.Name.Equals("Kal")).FirstOrDefault(); //var foundPerson2 = context.Person2s.Where(p => p.Name.Equals("Jen")).FirstOrDefault(); var foundSkill = context.Skills.FirstOrDefault(s => s.Name.Equals("Bar")); var foundCompany = context.Companies.FirstOrDefault(s => s.Name.Equals("NetworkedPlanet")); Assert.IsNotNull(foundPerson); //Assert.IsNotNull(foundPerson2); Assert.IsNotNull(foundSkill); Assert.IsNotNull(foundCompany); Assert.IsTrue(foundPerson.Id.StartsWith(Constants.GeneratedUriPrefix)); Assert.IsTrue(foundCompany.Id.StartsWith(Constants.GeneratedUriPrefix)); Guid guid; Assert.IsTrue(Guid.TryParse(foundSkill.Id, out guid)); }
public void TestBaseResourceAddress() { string storeName = Guid.NewGuid().ToString(); var dataObjectStore = _dataObjectContext.CreateStore(storeName); var context = new MyEntityContext(dataObjectStore); var skill = new Skill {Id = "foo", Name = "Foo"}; context.Skills.Add(skill); var otherSkill = new Skill {Id = "bar", Name = "Bar", Context = context}; var yetAnotherSkill = new Skill {Name = "Bletch"}; context.Skills.Add(yetAnotherSkill); context.SaveChanges(); var found = context.Skills.Where(s => s.Id.Equals("foo")).FirstOrDefault(); Assert.IsNotNull(found); Assert.AreEqual("foo", found.Id); Assert.AreEqual("Foo", found.Name); found = context.Skills.Where(s => s.Id.Equals("bar")).FirstOrDefault(); Assert.IsNotNull(found); Assert.AreEqual("bar", found.Id); Assert.AreEqual("Bar", found.Name); found = context.Skills.Where(s => s.Name.Equals("Bletch")).FirstOrDefault(); Assert.IsNotNull(found); Guid foundId; Assert.IsTrue(Guid.TryParse(found.Id, out foundId)); }