Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在DAL中将CONTR注入Linq到SQL类_C#_Asp.net_Linq To Sql - Fatal编程技术网

C# 在DAL中将CONTR注入Linq到SQL类

C# 在DAL中将CONTR注入Linq到SQL类,c#,asp.net,linq-to-sql,C#,Asp.net,Linq To Sql,对不起,如果这是一个愚蠢的问题。我正在编写一个简单的三层ASP Web表单应用程序,如何将连接字符串注入到LINQ to SQL类的DAL中 我相信这是从DAL中的App.Config中提取con信息 public LNQDataContext() : base(global::bcDAL.Properties.Settings.Default.TM10_ArchiveConnectionString, mappingSource) {

对不起,如果这是一个愚蠢的问题。我正在编写一个简单的三层ASP Web表单应用程序,如何将连接字符串注入到LINQ to SQL类的DAL中

我相信这是从DAL中的App.Config中提取con信息

    public LNQDataContext() : 
            base(global::bcDAL.Properties.Settings.Default.TM10_ArchiveConnectionString, mappingSource)
    {
        OnCreated();
    }
有没有办法将其修改为LINQDataContext(string conStr)??我真的希望管理员能够在web.config(而不是在dll中硬编码)中设置这个,如果他必须移动东西的话


或者欢迎任何其他有见地的替代方案,提前感谢。

通过DBML文件为您生成的DataContext类是一个局部类,因此只需使用您自己的名为相同的类对其进行扩展,并添加您需要的任何其他构造函数即可。但是,我不知道为什么您认为连接字符串是硬编码的。从服务器资源管理器将表拖到DBML表面上已经向web/app.config添加了一个连接字符串。这就是您的示例中所指向的
global::bcDAL.Properties.Settings.Default.TM10_ArchiveConnectionString

通过DBML文件为您生成的DataContext类是一个局部类,因此只需使用您自己的同名类对其进行扩展,并添加您需要的任何其他构造函数即可。但是,我不知道为什么您认为连接字符串是硬编码的。从服务器资源管理器将表拖到DBML表面上已经向web/app.config添加了一个连接字符串。这就是您的示例中所指的
global::bcDAL.Properties.Settings.Default.TM10_ArchiveConnectionString

您也可以简单地将连接字符串从数据层的app.config复制到表示层的web.config。应用程序执行后会在web.config中找到它。

您也可以简单地将连接字符串从数据层的app.config复制到表示层的web.config。应用程序在执行时会在web.config中找到它。

谢谢你所描述的是我一直试图做的事情,但没有成功,如果它在DAL的app.config中,则在编译应用程序后将无法进行更改,否?因此,我希望weblayer向下推从web.configYou是对的-如果您有一个单独的带有DBML文件的DAL项目,那么该项目的app.config将获得连接字符串-这完全是愚蠢的,因为.dll没有获得app.configs。但是,正如kman0所说,只需将该设置复制到web.config。但是,如果在运行时更改web.config,则会清除整个应用程序池,因此重载构造函数可能是最好的。由你决定。谢谢你所描述的是我一直试图做的事情,但没有成功,如果它在DAL的app.config中,那么一旦编译应用程序,它将无法访问以更改,不是吗?因此,我希望weblayer向下推从web.configYou是对的-如果您有一个单独的带有DBML文件的DAL项目,那么该项目的app.config将获得连接字符串-这完全是愚蠢的,因为.dll没有获得app.configs。但是,正如kman0所说,只需将该设置复制到web.config。但是,如果在运行时更改web.config,则会清除整个应用程序池,因此重载构造函数可能是最好的。由你决定。