【发布时间】:2013-07-29 20:37:17
【问题描述】:
我正在尝试在 MVC 项目中创建数据库。代码优先方法。我写了我的模型和一个DbContext 数据库。我无法连接到数据库。我怀疑问题出在我的连接字符串中,但我不确定。我想要的数据库将包含两个表,定义如下:
public class EmployeeRequest
{
[Key]
public int EmployeeRequestId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string UserName { get; set; }
public int ExtNumber { get; set; }
public bool isProcessed { get; set; }
public virtual ICollection<ChangeOrder> ChangeOrders { get; set; }
}
和
public class ChangeOrder
{
[Key]
public int ChangeOrderId { get; set; }
public short Operation { get; set; } //0 - Add, 1- delete
public int TargetExt { get; set; }
public short Status { get; set; } //0- Pending, 1- Approved, 2- Denied
public DateTime DtRequested { get; set; }
public DateTime DtProcessed { get; set; }
public DateTime DtChangesApplied { get; set; }
public int EmployeeRequestID { get; set; }
public virtual EmployeeRequest Request { get; set; }
}
DbContext 类是:
public class RequestsContext : DbContext
{
public DbSet<EmployeeRequest> EmployeeRequests { get; set; }
public DbSet<ChangeOrder> ChangeOrders { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}
连接字符串:
<add name="RequestsContext"
providerName="System.Data.SqlClient"
connectionString="Data Source=(LocalDb);Database=Requests.mdf;Trusted_Connection=True"/>
我收到的错误是无法与主机建立连接。
我不确定为什么会这样。有任何想法吗?
【问题讨论】:
-
这听起来很疯狂,尝试将您的数据源更改为
(localdb)\v11.0而不仅仅是(localdb)。 -
好的,这些参数已经修复了一些问题,但现在我收到一条错误消息“无法将文件路径\to\App_Data\Requests.mdf 作为数据库'Requests.mdf”附加
-
这很有趣。尝试将数据库设置从
Requests.mdf更改为Requests,看看是否有什么作用。 -
使用这个connectionString="Data Source=(localdb)\v11.0;Database=Requests.mdf" 会弹出一个凭证表单,服务器字段设置为(localdb)\v11.0,数据库设置为 Requests.mdf,它要求我使用 Windows 身份验证或 SQL Server 身份验证。我都试过了,但都没有工作。如果我使用 Requests 而不是 Requests.mdf,什么都不会改变
标签: c# sql-server asp.net-mvc entity-framework