예제 #1
0
        public void Set_method_returns_the_same_instance_each_invocation()
        {
            using (var context = new SimpleModelContext())
            {
                var set1 = context.Set<Product>();
                var set2 = context.Set<Product>();

                Assert.Same(set1, set2);
                Assert.Same(set1, context.Products);
            }
        }
예제 #2
0
        public void Non_generic_Set_method_returns_the_same_instance_each_invocation()
        {
            using (var context = new SimpleModelContext())
            {
                var set1 = context.Set(typeof(Product));
                var set2 = context.Set(typeof(Product));

                Assert.Same(set1, set2);
            }
        }
예제 #3
0
        public void Can_create_DbSet_for_derived_type()
        {
            using (var context = new SimpleModelContext())
            {
                var set = context.Set<FeaturedProduct>();
                Assert.IsType<DbSet<FeaturedProduct>>(set);

                var entity = set.FirstOrDefault();
                Assert.IsType<FeaturedProduct>(entity);
                Assert.Equal(EntityState.Unchanged, GetStateEntry(context, entity).State);
            }
        }
예제 #4
0
        public void Can_create_non_generic_DbSet_for_derived_type()
        {
            using (var context = new SimpleModelContext())
            {
                var set = context.Set(typeof(FeaturedProduct));
                Assert.Equal(typeof(FeaturedProduct), set.ElementType);

                var entity = set.Cast<FeaturedProduct>().FirstOrDefault();
                Assert.IsType<FeaturedProduct>(entity);
                Assert.Equal(EntityState.Unchanged, GetStateEntry(context, entity).State);
            }
        }
예제 #5
0
        public void Can_create_non_generic_DbSet_for_base_type()
        {
            using (var context = new SimpleModelContext())
            {
                var set = context.Set(typeof(Product));
                Assert.Equal(typeof(Product), set.ElementType);

                var entity = set.Cast<Product>().FirstOrDefault();
                Assert.IsType<Product>(entity);
            }
        }
예제 #6
0
        public void Can_create_DbSet_for_base_type()
        {
            using (var context = new SimpleModelContext())
            {
                var set = context.Set<Product>();
                Assert.IsType<DbSet<Product>>(set);

                var entity = set.FirstOrDefault();
                Assert.IsType<Product>(entity);
            }
        }
예제 #7
0
        public void Can_create_non_generic_DbSet()
        {
            using (var context = new SimpleModelContext())
            {
                var set = context.Set(typeof(Category));
                Assert.Equal(typeof(Category), set.ElementType);

                var entity = set.Cast<Category>().FirstOrDefault();
                Assert.IsType<Category>(entity);
                Assert.Equal(EntityState.Unchanged, GetStateEntry(context, entity).State);
            }
        }
예제 #8
0
        public void Can_create_DbSet()
        {
            using (var context = new SimpleModelContext())
            {
                var set = context.Set<Category>();
                Assert.IsType<DbSet<Category>>(set);

                var entity = set.FirstOrDefault();
                Assert.IsType<Category>(entity);
                Assert.Equal(EntityState.Unchanged, GetStateEntry(context, entity).State);
            }
        }
예제 #9
0
        public void Sets_of_subtypes_can_still_be_sorted()
        {
            using (var context = new SimpleModelContext())
            {
                var featuredProducts = context.Set<FeaturedProduct>();
                featuredProducts.Attach(
                    new FeaturedProduct
                        {
                            Id = 3
                        });
                featuredProducts.Attach(
                    new FeaturedProduct
                        {
                            Id = 1
                        });
                featuredProducts.Attach(
                    new FeaturedProduct
                        {
                            Id = 4
                        });

                var bindingList = featuredProducts.Local.ToBindingList();

                ((IBindingList)bindingList).ApplySort(
                    TypeDescriptor.GetProperties(typeof(Product))["Id"],
                    ListSortDirection.Ascending);

                Assert.Equal(1, bindingList[0].Id);
                Assert.Equal(3, bindingList[1].Id);
                Assert.Equal(4, bindingList[2].Id);
            }
        }