Entity Framework Code First Approach getting error : "The underlying provider failed on Open"
Entity Framework Code First Approach getting error : "The underlying provider failed on Open"
我正在尝试使用 Code First Approcah EF 5.0 创建一个简单的数据库。
我有员工 class:
public class Employee
{
public int EmployeeID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
我有 EmployeeDbContext class:
public class EmployeeDbContext : DbContext
{
static EmployeeDbContext()
{
Database.SetInitializer<EmployeeDbContext>(null);
}
public DbSet<Employee> Employees { get; set; }
}
和存储库 class:
public class Repository
{
public List<Employee> GetEmployees()
{
EmployeeDbContext MyDataBase = new EmployeeDbContext();
return MyDataBase.Employees.ToList();
}
}
我已经在其中创建了 WebFrom 文件和一个 GridView,并将其与 ObjectDataSource 连接到存储库(屏幕截图):http://s3.postimg.org/jqvm89scz/Capture.png
这是我的连接字符串:
<add name="EmployeeDbContext" connectionString="server=.; Database=Sample;Trusted_Connection=True; Persist Security Info=True;" providerName="System.Data.SqlClient" />
当我调试这个时,我在 "return MyDataBase.Employees.ToList();"
上收到这个错误
An exception of type 'System.Data.Entity.Core.EntityException' occurred in
EntityFramework.SqlServer.dll but was not handled in user code
Additional information: The underlying provider failed on Open.
我试图在此行之前添加此 MyDataBase.Database.Connection.Open();
并收到此错误:
Cannot open database "Sample" requested by the login. The login failed.
更新
当我将 ConnectionString 中的数据库更改为现有数据库(Northwind 数据库)时,它正在工作,我只是再次提到我正在尝试创建一个不存在的数据库。
看看这个。此页面上列出了一些连接字符串示例。
https://www.connectionstrings.com/sql-server/
您可以在没有任何 EF 的情况下使用类似这样的代码测试您的连接字符串(这不会引发异常)。
using (SqlConnection connection = new SqlConnection(@"your connection string"))
{
connection.Open();
}
我正在尝试使用 Code First Approcah EF 5.0 创建一个简单的数据库。
我有员工 class:
public class Employee
{
public int EmployeeID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
我有 EmployeeDbContext class:
public class EmployeeDbContext : DbContext
{
static EmployeeDbContext()
{
Database.SetInitializer<EmployeeDbContext>(null);
}
public DbSet<Employee> Employees { get; set; }
}
和存储库 class:
public class Repository
{
public List<Employee> GetEmployees()
{
EmployeeDbContext MyDataBase = new EmployeeDbContext();
return MyDataBase.Employees.ToList();
}
}
我已经在其中创建了 WebFrom 文件和一个 GridView,并将其与 ObjectDataSource 连接到存储库(屏幕截图):http://s3.postimg.org/jqvm89scz/Capture.png
这是我的连接字符串:
<add name="EmployeeDbContext" connectionString="server=.; Database=Sample;Trusted_Connection=True; Persist Security Info=True;" providerName="System.Data.SqlClient" />
当我调试这个时,我在 "return MyDataBase.Employees.ToList();"
上收到这个错误An exception of type 'System.Data.Entity.Core.EntityException' occurred in
EntityFramework.SqlServer.dll but was not handled in user code
Additional information: The underlying provider failed on Open.
我试图在此行之前添加此 MyDataBase.Database.Connection.Open();
并收到此错误:
Cannot open database "Sample" requested by the login. The login failed.
更新
当我将 ConnectionString 中的数据库更改为现有数据库(Northwind 数据库)时,它正在工作,我只是再次提到我正在尝试创建一个不存在的数据库。
看看这个。此页面上列出了一些连接字符串示例。 https://www.connectionstrings.com/sql-server/
您可以在没有任何 EF 的情况下使用类似这样的代码测试您的连接字符串(这不会引发异常)。
using (SqlConnection connection = new SqlConnection(@"your connection string"))
{
connection.Open();
}