从本地数据库获取数据不起作用

时间:2014-04-24 10:25:59

标签: c# sql-server asp.net-mvc asp.net-mvc-4 asp.net-mvc-5

我已经创建了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。

1 个答案:

答案 0 :(得分:0)

您可以尝试将连接字符串设置为更多此格式,因为它是本地

 <add name="DataBaseConnectionName" 
      connectionString="Data Source=[ServerNameHere];User ID=[DatabaseLogonID/Probably sa];Password=[DatabasePassword];Initial Catalog=TheNameoftheLocalDB;" 
      providerName="System.Data.SqlClient" />

您可以尝试建立连接,也不要将[brackets]保留在连接字符串中。