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); } }
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); }
// 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(); } }