2016-06-14 6 views
0

Ive только установка рамки объект 6 (в первый раз) с использованием модели с теми же полями, как таблицы БД, но им получать на отладить 0 результатов (без ошибок)Entity Framework 6 никаких результатов

public class footballContext : DbContext 
{ 
    public DbSet<football> football { get; set; } 

} 

и:

var context = new footballContext(); 
var matches = context.football.Take(20).ToList(); 

Если я просматриваю запрос, используя его в контексте, я могу запустить его в своей базе данных, и результаты возвращаются в порядке. У меня есть инструменты для управления инфраструктурой сущностей, но, похоже, это проверяет модель, есть ли способ проверить, может ли он получить данные или есть что-то очевидное, что я пропустил?

+0

Дважды проверьте строку подключения. Вы подключаетесь к локальному или удаленному? Моя первая догадка заключается в том, что вы выполняете свой запрос против существующего удаленного db, но ваш код работает против локального, у которого нет данных о семени. – nurdyguy

ответ

0

Просто нашел это:

«Если вы не указали строку подключения или имя одного явно, Entity Framework предполагает, что имя строки соединения совпадает с именем класса соединения по умолчанию. string name в этом примере будет тогда SchoolContext, то же, что и вы явно указываете ».

думаю, что нужно, чтобы начать чтение на именования для этого ...

0

Для вашего кода, чтобы работать, как он стоит, вам нужно будет иметь строку подключения в вашем web.config называется footballContext

Если вы не хотите, чтобы строка соединения вызывалась, вы можете создать конструктор для вашего контекста, который вызывает базовый конструктор с указанным именем.

Если вы предпочитаете явно передавать строку соединения во время создания контекста, вы можете снова создать конструктор для footballContext, который принимает строку соединения и вызывает соответствующий базовый конструктор.

См. Например, this SO answer.