首先,在LINQTOSQL中可以这样建立一个dbcontext private TEntity GetOriginal(TEntity entity) { using (Entity.EEE114.LinqEEE114DataContext context = new Entity.EEE114.LinqEEE114DataContext()) { var table = context.GetTable<TEntity>(); return table.FirstOrDefault(e => e == entity); } } 这种写法缺陷就是每次在重新托数据库时,它就会自动生成一个连接串,它的连接串保存在properies目录的settings.settings文件中,当我们从一个本地服务器 发布到公网服务器时,就会出现问题,因为如果你没有指定“连接串”,它就会用这个settings.settings里的连接串,所以,我们为了扩展性好,还是把链接串 习惯上定义在web.config里,然后在建立 dbcontext对象时,可以这样写 private TEntity GetOriginal(TEntity entity) { using (Entity.EEE114.LinqEEE114DataContext context = new Entity.EEE114.LinqEEE114DataContext(System.Configuration.ConfigurationManager.ConnectionStrings["db"].ToString())) { var table = context.GetTable<TEntity>(); return table.FirstOrDefault(e => e == entity); } } 以后在发布到公网后,只要修改web.config就可以了,呵呵。
本文转自博客园张占岭(仓储大叔)的博客,原文链接:LINQ TO SQL中还是用传统的连接串方式建立DbContext更好些,如需转载请自行联系原博主。