Ejemplo n.º 1
0
        public void Generic_DbContext_Entries_ignores_stubs_and_relationship_entries()
        {
            using (var context = new SimpleModelForLinq())
            {
                var nonStubEntityEntryCount = PopulateContextAndGetNonStubEntityEntryCount(context);

                var entries = context.ChangeTracker.Entries <OrderForLinq>().ToList();

                Assert.True(entries.All(e => e.Entity != null));
                Assert.Equal(nonStubEntityEntryCount, entries.Count);
            }
        }
Ejemplo n.º 2
0
        private int PopulateContextAndGetNonStubEntityEntryCount(SimpleModelForLinq context)
        {
            context.Orders.Load();

            var objectStateEntries =
                ((IObjectContextAdapter)context).ObjectContext.ObjectStateManager.GetObjectStateEntries(
                    ~EntityState.Detached);
            var relationshipEntryCount = objectStateEntries.Count(e => e.IsRelationship);
            var stubEntryCount         = objectStateEntries.Count(e => !e.IsRelationship && e.Entity == null);

            // Sanity check that we actually have stubs and relationship entries
            Assert.NotEqual(0, relationshipEntryCount);
            Assert.NotEqual(0, stubEntryCount);

            return(objectStateEntries.Count() - relationshipEntryCount - stubEntryCount);
        }
Ejemplo n.º 3
0
 // TODO: [Fact(Skip = "SDE Merge - No partial trust yet")]
 public void SelectMany_works_under_partial_trust()
 {
     using (var context = new SimpleModelForLinq())
     {
         var parameter = 1;
         var query     = from n in context.Numbers
                         from p in context.Products
                         where n.Value > p.UnitsInStock && n.Value == parameter
                         select
                         new LinqTests.NumberProductProjectionClass
         {
             Value        = n.Value,
             UnitsInStock = p.UnitsInStock
         };
         Assert.IsType <DbQuery <LinqTests.NumberProductProjectionClass> >(query);
         query.Load();
     }
 }