Ejemplo n.º 1
0
        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();

        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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));
        }