由EntityFramework和MVC连接到SQL的字符串

时间:2013-08-16 08:27:08

标签: c# asp.net-mvc entity-framework

我在MVC中编写网页,它使用Entity Framework作为ORM映射器。我把我的连接字符串放到web.config文件中。这是它:

<add name="JP_CMS" connectionString="Data Source=.;Initial Catalog=JP_CMS;
User Id=CmsWebUser;Password=abcd1234abcd1234;"
providerName="System.Data.SqlClient"/>

我试图通过这个C#代码获取数据

    public DataBaseContext()
        : base("JP_CMS")
    {
        Database.SetInitializer(new DropCreateDatabaseIfModelChanges<DataBaseContext>());
    }

//------------------------------

    var db = new DataBaseContext();
    var result = db.Articles.ToList(); //<- here is thrown exception
//------------------------------

我的本​​地SQL服务器正在运行,这个表是存在的,但是我得到了类似的信息:

enter image description here

我认为这是最重要的考虑因素:“在建立与SQL Server的连接时发生与网络相关或特定于实例的错误。未找到服务器或无法访问服务器。验证实例名称是否正确SQL Server配置为允许远程连接。(提供程序:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)“

你可以帮我解释一下我做错了吗?

3 个答案:

答案 0 :(得分:2)

“系统找不到指定的文件”错误。仔细检查你的连接字符串。

答案 1 :(得分:1)

而不是DataSource =.尝试DataSource = .\sqlInstanceNameDataSource=(local)也可能有用。

答案 2 :(得分:1)

hi错误表示EF尝试连接到服务器但失败了。

你能Checkk,

1)SQL Server应该启动并运行。

转到所有程序&gt;&gt; Microsoft SQL Server 2008&gt;&gt;配置工具&gt;&gt; SQL Server配置管理器&gt;&gt; SQL Server服务,并检查SQL Server服务状态是否为“正在运行”。

此外,请确保您的远程服务器位于同一网络中。在命令提示符下运行“sqlcmd -L”以确定您的服务器是否包含在网络列表中。

2)在SQL Server配置中启用TCP / IP

有关详情,请访问here