2013-03-23 2 views
1

У меня есть контекст, как это:имя ... не существует в текущем контексте

/// <summary> 
     /// Constructeur qui récupère automatiquement la chaîne de connection. 
     /// </summary> 
     /// <remarks>Nécessaire pour les commandes de migrations de EF > 4.3.</remarks> 
     public ScsContext() 
      : base(ConfigurationUtility.GetConnectionString()) 
     { 
     } 

     /// <summary> 
     /// Constructeur qui prend en paramètre une chaine de connection. 
     /// </summary> 
     /// <param name="connectionString">Chaîne de connexion.</param> 
     public ScsContext(string connectionString) 
      : base(connectionString) 
     { 
     } 

Я выбрал мою настойчивость сборку, которая содержит ScsContext. Я смог выбрать ScsContext, и я выбрал конструктор без параметров, а затем файл конфигурации, в котором находится строка подключения.

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

Я вижу все таблицы в LindPaq, но он не смог выполнить какие-либо запросы. Например, Accounts.Take (100) Я получаю сообщение об ошибке, поскольку имя «Учетные записи» не существует в текущем контексте.

Любые идеи? Я уверен, что у меня есть правильная DLL и все такое.

+0

Я видел такое поведение, когда 'DbSet' был помечен' internal'. Убедитесь, что уровень доступности 'Accounts' является' public'. – Sorax

ответ

0

Вот что я сделал, когда я имел эту проблему

using (var cntx = new DataContext("Server=ARAMKALAPTOP\\EXPRESS2012;Database=TimberScan;Trusted_Connection=True;")) 
{ 
    var users = cntx.Set<User>().ToList(); 
    users.Dump(); 
} 

Я также должен был добавить ссылку в LINQPad на сборку, которая содержала мои модели \ сущности затем добавили импорт пространства имен. Просто нажмите F4 в linqpad, и вы можете увидеть, как добавить ссылки и импорт пространства имен. Кроме того, измените язык на оператор C#.

Смежные вопросы