У меня есть следующее сообщение об ошибке: provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance SpecifiedОшибка подключения к базе данных SQL с Entity Framework из MVC приложения .NET
То, что я должен был создать класс модели, наследующий DbContext
класс:
class EmployeeContext : DbContext
{
public DbSet<Employee>Employees { get; set; }
}
и создать другой класс модели:
[Table("EmployeeList")]
public class Employee
{
public int EmployeeID { get; set; } // no semi-colon
public string firstName { get; set; }
public string lastName { get; set; }
public string position { get; set; }
}
и в классе контроллера я закодирован:
public class EmployeeController : Controller
{
public ActionResult EmployeeList(int id)
{
Employee employee = new Employee(); //instantiate the object of model class to be use
EmployeeContext employeecontext = new EmployeeContext(); //create context model class
// assign the value of the context model object that is mapped to database
employee = employeecontext.Employees.Single(x => x.EmployeeID == id);
return View("EmployeeDetail", employee); // include view name, object of model class
}
}
Затем я подключаюсь к серверу и базе данных, используя этот параметр в Server Explorer. 2
добавить строку соединения, связанный с именем класса DbContext
, который я создал ранее:
<add name="EmployeeContext"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\aspnet-MVCDemo-20161213044601.mdf;Initial Catalog=aspnet-MVCDemo-20161213044601;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
Сервер проверяется для разрешения удаленного подключения, работает с локальной базой данных.
Сайт URL также ввести правильно:/локальный/{Projectname}/служащий/EmployeeList/1
где 1 параметр идентификатор, который я использую для метода действия EmployeeList
в контроллере Employee
.
Это абсолютно правильно, что строка подключения является источником моей проблемы, и ваше предложение помогает мне исправить это. Очень ценю! У меня возникла другая проблема после этого исправления (ошибка: ошибка входа в систему для пользователя «IIS APPPOOL \ DefaultAppPool».) Однако изменение использования IIS express вместо локального IIS полностью решает проблему. –
@MinhPham, отлично слышать. Поскольку вы новичок в StackOverflow, см. [Что делать, если кто-то отвечает на мой вопрос?] (Http://stackoverflow.com/help/someone-answers) за то, что вы должны делать дальше. – Adrian