从Restful C#服务连接到SQL服务器

时间:2017-08-08 02:48:26

标签: c# sql-server entity-framework web-services connection-string

我正在尝试通过与Microsoft SQL数据库的连接来开发一个安静的C#服务。根据我的理解,我应该在以下代码中与SQL服务器建立连接:

using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
namespace Webserver.Models
{
    public class WebserverContext : DbContext
    {


        public WebserverContext() : base("name=WebserverContext")
        {

        }

        public System.Data.Entity.DbSet<Webserver.Models.ApiModels.SecondlyReading> SecondlyReadings { get; set; }
    }
}

我面临的问题是我不知道该怎么做。我之前在C#ASP.NET中完成了数据库连接,数据库连接类似于:

  

SqlConnection conn = new SqlConnection(&#34; Data source = localhost;&#34; +&#34; Initial   目录=作者;用户= myuser的;口令=输入mypassword&#34)

我尝试实现它,但它不起作用。我还引用了以下C#Restful Service中的数据库连接链接:

Link

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这可能是一个有用的开始:https://msdn.microsoft.com/en-us/library/jj729737%28v=vs.113%29.aspx?f=255&MSPPError=-2147217396但是您可能缺少的步骤是在Web.Config中使用连接字符串。

ASP.Net Entity Framework将尝试连接到一个数据库实例,该实例的Web.Config中的连接字符串名称与您的上下文的名称相匹配(例如,上面示例中的WebserverContext)。

在您的Web.Config中,您的ConnectionStrings元素将包含以下内容:

  <connectionStrings>
    <add name="WebserverContext" connectionString="Data Source=localhost;Initial Catalog=myWebserverContextDb;User ID=someuser;Password=somepassword" providerName="System.Data.SqlClient" />
  </connectionStrings>

您的DbContext类构造函数需要设置相同的名称,以便它可以查找连接字符串。本教程也可能有所帮助:https://www.tutorialspoint.com/entity_framework/entity_framework_dbcontext.htm