BrightstarDB.Tests.EntityFramework.LinqTests.TestLinqJoinOnProperty C# (CSharp) Метод

TestLinqJoinOnProperty() приватный Метод

private TestLinqJoinOnProperty ( ) : void
Результат void
        public void TestLinqJoinOnProperty()
        {
            var connectionString = GetConnectionString("TestLinqJoinOnProperty");
            var context = new MyEntityContext(connectionString);

            var people = new List<IPerson>();
            for (var i = 0; i < 100; i++)
            {
                var person = context.Persons.Create();
                person.Name = "Person " + i;
                person.EmployeeId = i;
                people.Add(person);
            }

            for (var i = 0; i < 100; i++)
            {
                var article = context.Articles.Create();
                article.Title = "Article " + i;

                var publisher = people.Where(p => p.EmployeeId == i).SingleOrDefault();
                Assert.IsNotNull(publisher);

                article.Publisher = publisher;
            }
            context.SaveChanges();

            Assert.AreEqual(100, context.Persons.Count());
            Assert.AreEqual(100, context.Articles.Count());

            var allArticlesWithPublishers = (from article in context.Articles
                                             join person in context.Persons on article.Publisher.EmployeeId equals
                                                 person.EmployeeId
                                             select article).ToList();
            Assert.AreEqual(100, allArticlesWithPublishers.Count);


            var allPublishersWithArticles = (from person in context.Persons
                                 join article in context.Articles on person.EmployeeId equals
                                     article.Publisher.EmployeeId
                                 select person).ToList();
            Assert.AreEqual(100, allPublishersWithArticles.Count);
        }