我已经创建了MVC5应用程序并且我有本地数据库,目前我已输入数据 到了表,我能够在服务器资源管理器下的MDF文件中看到 - >数据连接,现在我想通过下面的API读取它并且它不工作我已经提供了我在表中的ID而且我得到了null,我想也许我需要为API提供连接字符串,但不知道怎么做,不知道如何做到这一点?
这是模型定义中的DB上下文
public class PersonModelDbContext : DbContext
{
public PersonModelDbContext()
: base("Connection1")
{
}
这是阅读API
private PersonModelDbContext db = new PersonModelDbContext();
public Person GetPrviderData(string id)
{
Person person = db.Person.Find(id);
return person;
}
这是WEB CONFIG FILE
中的连接字符串 <connectionStrings>
<add name="Connection1" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\Person.mdf;Initial Catalog=Persons;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
更新 - 此外我尝试使用以下内容但没有成功,我收到错误:
db.Database.Connection.ConnectionString = @"Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\Person.mdf;Initial Catalog=Persons;Integrated Security=True";
发生了'System.Data.DataException'类型的异常 EntityFramework.dll但未在用户代码中处理
附加信息:初始化时发生异常 数据库。有关详细信息,请参阅InnerException。
答案 0 :(得分:0)
您可以尝试将连接字符串设置为更多此格式,因为它是本地
<add name="DataBaseConnectionName"
connectionString="Data Source=[ServerNameHere];User ID=[DatabaseLogonID/Probably sa];Password=[DatabasePassword];Initial Catalog=TheNameoftheLocalDB;"
providerName="System.Data.SqlClient" />
您可以尝试建立连接,也不要将[brackets]
保留在连接字符串中。