Я создал новый веб-сайт MVC 3, используя EF 4.1 с подходом DB first. Я создал файл edmx, а затем классы DBContext (новая функция 4.1). все прошло хорошо.
Затем я создал новые контроллеры, используя автоматическое создание для DBContext. Все не было здорово.
Теперь, когда я пытаюсь запустить веб-сайт, он не подключится к самой созданной строке подключения.
Вот строка подключения:
<add name="PizzaByMeEntities"
connectionString='metadata=res://*/Models.PizzaByMeModel.csdl|
res://*/Models.PizzaByMeModel.ssdl|
res://*/Models.PizzaByMeModel.msl;
provider=System.Data.SqlClient;
provider connection string="data source=(local);
initial catalog=PizzaByMe;
integrated security=True;
pooling=False;
multipleactiveresultsets=True;
App=EntityFramework;"'
providerName="System.Data.EntityClient" />
Когда я запускаю сайт, я получаю:
Ошибка сети или экземпляра
установление соединения с SQL Server. Сервер не найден или
был недоступен. Убедитесь, что имя экземпляра правильное и
SQL Server настроен для разрешения удаленных подключений. (поставщик: SQL
Сетевые интерфейсы, ошибка: 26 - Ошибка при поиске сервера / экземпляра
Указано)
Странная часть в том, что если я удаляю строку подключения - я все равно получаю точно такую же ошибку. Я полагаю, что EF просто не может найти строку подключения, даже когда она там есть.
Есть идеи?
Спасибо!
EDIT:
Мой DBContext выглядит следующим образом:
public partial class PizzaByMeEntities : DbContext
{
public PizzaByMeEntities()
: base("name=PizzaByMeEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public DbSet<X> Xs{ get; set; }
public DbSet<Y> Ys{ get; set; }
public DbSet<Z> Zs{ get; set; }
}
РЕДАКТИРОВАТЬ 2:
рабочая строка подключения такова:
<add name="PizzaByMe" connectionString="Data Source=(local);initial catalog=PizzaByMe;integrated security=True;pooling=False;multipleactiveresultsets=True;" providerName="System.Data.EntityClient" />
Хотя, чтобы это работало - я просто использовал прямое соединение ADO.NET.