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

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

private TestLinqJoinOnId ( ) : void
Результат void
        public void TestLinqJoinOnId()
        {
            var connectionString = GetConnectionString("TestLinqJoinOnId");
            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 test = context.Articles.Count(a => a.Publisher != null);
            Assert.AreEqual(100, test);

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


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