【问题标题】:How can I create Linq To SQL Classes with the VS designer when using a Connection String使用连接字符串时如何使用 VS 设计器创建 Linq To SQL 类
【发布时间】:2011-02-14 00:30:41
【问题描述】:

正如您可能从我之前的帖子中看到的那样,我开始自学 MVC 和 C#,因为现在是我从设计师转变为开发人员的时候了。我被告知不要在 Visual Studio 中使用服务器资源管理器,而只需使用 web.config 中的连接字符串连接到我的数据库。我已经这样做了,但显然 Visual Studio 中的 LINQ to SQL 设计器似乎不知道或识别我的数据库连接,我不能只拖到设计器上来制作类。我必须手动创建这些还是我遗漏了什么?

任何想法都会被欣赏。

干杯

标记

【问题讨论】:

    标签: c# asp.net-mvc visual-studio linq-to-sql


    【解决方案1】:

    DataContext 类有一个constructor,它接受一个连接字符串参数。

    【讨论】:

      【解决方案2】:

      我想我已经通过更改设计器属性中的连接设置对此进行了排序

      【讨论】:

        【解决方案3】:

        您可以使用服务器资源管理器生成您的类,然后使用连接字符串中的详细信息填充其中的服务器、数据库、身份验证字段。

        然后,正如 shadowfoxmi 所述,当您实例化 DataContext 类时,使用采用连接字符串或预先设置的 SqlConnection 实例的构造函数。

        我个人更喜欢有一个包含单个静态方法 GetDataContext() 的静态类,它返回一个已经设置了正确连接字符串、超时等的 DataContext 实例。然后我确保没有代码手动实例化 DataContext,而是所有实例来自该静态方法。您可以根据需要使此方法变得复杂,例如根据部署环境(例如登台、生产、本地开发)等,您可能会让代码使用不同的连接字符串实例化 DataContexts。

        在部署中,根据您的需要,最好确保删除服务器资源管理器将放入您的 app.config / web.config 文件的详细信息。

        【讨论】:

          【解决方案4】:

          我总是创建一个执行以下操作的包装器:

          public static class DBCreator
          {
             public static MyDataContext Create()
             {
                 return new MyDataContext(ConfigurationManager.ConnectionStrings["ConnName"].ConnectionString);
              }
          }
          

          然后到处使用它。您还可以添加重载以接受 DataLoadOptions 或您想要传入的任何其他内容。

          HTH。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2010-11-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-11-14
            • 1970-01-01
            相关资源
            最近更新 更多