Исключение Effort (EF6) при доступе к DbSet (данный ключ отсутствовал в словаре)

.net effort entity-framework entity-framework-6 linq

Вопрос

Это немного сложно проследить, но при использовании Effort для тестирования Entity Framework 6 я, кажется, получаю сообщение KeyNotFoundException («Данный ключ не присутствовал в словаре») при попытке получить доступ к одному из DBSet хранилища.

Я заметил, что он работает с одним или двумя DbSets в DbContext, но как только я начинаю добавлять несколько DbSets в DbContext, я получаю вышеуказанную ошибку.

Пример кода (это упрощение всего кода, ошибка кажется случайной, когда я комментирую некоторые DbSets из DbContext, а затем возвращаю их обратно. У меня также есть частичные классы для моделей, но иногда это удается и так, странно):

Контрольная работа

            [Fact]
            public void MyTest()
            {
                var connection = Effort.DbConnectionFactory.CreateTransient();
                var context = new StubDbContext(connection);

                var count = context.Models1.Count();
                Assert.Equal(count, 0);

            }

Модели DBContext и DbSets

            [Fact]
            public void MyTest()
            {
                var connection = Effort.DbConnectionFactory.CreateTransient();
                var context = new StubDbContext(connection);

                var count = context.Models1.Count();
                Assert.Equal(count, 0);

            }

Трассировки стека:

            [Fact]
            public void MyTest()
            {
                var connection = Effort.DbConnectionFactory.CreateTransient();
                var context = new StubDbContext(connection);

                var count = context.Models1.Count();
                Assert.Equal(count, 0);

            }

Популярные ответы

У меня проблема. Оказалось, это связано с тем, что я использовал тип данных географии SQL в некоторых таблицах базы данных SQL 2014, и усилия не поддерживают этот тип данных , и в настоящее время не планируется добавлять поддержку для него, что оставляет меня в реальном quandry, поскольку я не могу найти другого поставщика базы данных в памяти для EF6, который делает!

Там могут быть и другие новые типы ссылочных типов, которые он также не поддерживает, но не уверен.




Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему