我正在使用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;
}
}
这是在每个页面中获取连接的正确方法吗?
关于'数据源',当我部署网站时会是什么?数据源和地址关键字之间有什么区别?
答案 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
此致