Connection String and Datacontext in LINQ
I am developing a site using ASP.NET, SQL 2008 and LINQ. I want to ask about the connection string. I have made a class like that to get the datacontext in each page:
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;
}
}
Is that a correct way to get the connection in each page?
Also about 'Data Source', when I deploy the site what will it be? And what is the difference between data source and address keywords?
That is a valid way of getting the data context instance, yes. You can use Data Source or Server I believe.
Please be aware that DataContext is IDisposable, so make sure it's not left hanging around after usage, I tend to do:
using (var context = DataHelper.GetContext())
{
// Stuff.
}
Also, you should really put your connection strings in the configuration file:
<connectionStrings>
<add name="Live" connectionString="blah;"/>
</connectionStrings>
Much better if you place your Connection string on your Web.Config File
<?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>
Have a look at this:
LINQ To SQL and the Web.Config ConnectionString Value
LINQ to SQL Connection Strings with class library projects
Regards
精彩评论