开发者

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜