LINQ中的连接字符串和Datacontext

时间:2011-06-02 09:38:00

标签: c# asp.net linq sql-server-2008

我正在使用ASP.NET,SQL 2008和LINQ开发一个站点。我想问一下连接字符串。我已经创建了一个这样的类来获取每个页面中的datacontext:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

public static class DatabaseConnection
{
    static DataClassesDataContext datacontext;    
    public static DataClassesDataContext getConnection()
    {
       datacontext = new DataClassesDataContext(@"Data Source=localhost;Initial Catalog=dbname; Integrated Security=True");
        return datacontext;
    }
}

这是在每个页面中获取连接的正确方法吗?

关于'数据源',当我部署网站时会是什么?数据源和地址关键字之间有什么区别?

2 个答案:

答案 0 :(得分:2)

这是获取数据上下文实例的有效方法,是的。您可以使用数据源服务器。我相信。

请注意,DataContext是IDisposable,所以请确保它在使用后不会闲逛,我倾向于这样做:

using (var context = DataHelper.GetContext())
{
   // Stuff.
}

另外,您应该将连接字符串放在配置文件中:

<connectionStrings>
   <add name="Live" connectionString="blah;"/>
</connectionStrings>

答案 1 :(得分:2)

如果将Connection字符串放在Web.Config文件

上会好多了
<?xml version="1.0"?>
<configuration>
    <configSections>
<connectionStrings>
    <add name="DB" connectionString="Data Source=localhost;Initial Catalog=dbname; Integrated Security=True" providerName="System.Data.SqlClient"/>
  </connectionStrings>

</configuration>

看看这个:

LINQ To SQL and the Web.Config ConnectionString Value

LINQ to SQL Connection Strings with class library projects

此致