예제 #1
0
        public void Set_throws_for_type_not_in_model_same_type_with_different_namespace()
        {
            using var context = new EarlyLearningCenter();
            var ex = Assert.Throws <InvalidOperationException>(() => context.Set <Microsoft.EntityFrameworkCore.DifferentNamespace.Category>().Local);

            Assert.Equal(CoreStrings.InvalidSetSameTypeWithDifferentNamespace(typeof(Microsoft.EntityFrameworkCore.DifferentNamespace.Category).DisplayName(), typeof(Category).DisplayName()), ex.Message);
        }
        public void Direct_use_of_Set_throws_if_context_disposed()
        {
            var context = new EarlyLearningCenter();

            context.Dispose();

            Assert.Throws <ObjectDisposedException>(() => context.Set <Category>());
        }
예제 #3
0
        public void Direct_use_of_Set_for_shared_type_throws_if_context_disposed()
        {
            var context = new EarlyLearningCenter();

            context.Dispose();

            Assert.Throws <ObjectDisposedException>(() => context.Set <Dictionary <string, object> >("SharedTypeEntityTypeName"));
        }
예제 #4
0
        public void Direct_use_of_Set_throws_if_context_disposed()
        {
            var context = new EarlyLearningCenter();

            context.Dispose();

            Assert.StartsWith(
                CoreStrings.ContextDisposed,
                Assert.Throws <ObjectDisposedException>(() => context.Set <Category>()).Message);
        }
예제 #5
0
        public void Using_shared_type_entity_type_db_set_with_incorrect_return_type_throws()
        {
            using var context = new EarlyLearningCenter();

            var dbSet = context.Set <Dictionary <string, object> >("SharedEntity");

            Assert.NotNull(dbSet.Add(new Dictionary <string, object> {
                { "Id", 1 }
            }));
            Assert.NotNull(dbSet.ToList());

            var wrongDbSet = context.Set <Category>("SharedEntity");

            Assert.Equal(
                CoreStrings.DbSetIncorrectGenericType("SharedEntity", "Dictionary<string, object>", "Category"),
                Assert.Throws <InvalidOperationException>(() => wrongDbSet.Add(new Category())).Message);
            Assert.Equal(
                CoreStrings.DbSetIncorrectGenericType("SharedEntity", "Dictionary<string, object>", "Category"),
                Assert.Throws <InvalidOperationException>(() => wrongDbSet.ToList()).Message);
        }
        public void DbSets_are_cached()
        {
            DbSet <Category> set;

            using (var context = new EarlyLearningCenter())
            {
                set = context.Categories;
                Assert.Same(set, context.Set <Category>());
            }

            using (var context = new EarlyLearningCenter())
            {
                Assert.NotSame(set, context.Categories);
                Assert.NotSame(set, context.Set <Category>());
            }
        }