【问题标题】: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
【解决方案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。