您的位置:首页 > 编程语言

DAL是通过代码生成工具自动生成的XSD强类型dataset怎么样把DAL和BLL都独立成项目。

2009-10-20 09:07 519 查看
想把DAL和BLL从项目里移出来做个类库。把DAL和BLL都独立成项目,以便同一方案可以共用。
问题是 DAL用的是通过代码生成工具自动化生成的可视化的XSD强类型dataset,数据连接字符串是web.config里的。移出去后哪里可以改数据连接。

解决方法

一般情况下,如果使用类型化数据集,在网站项目中,用到的连接字符串是保存在webconfig中的

但是如果作为单独项目的话

却是存储在Properties目录的Settings.settings内部的

展开Settings.settings可以发现有一个Settings.Designer.cs文件

格式如下

C# code
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
[global::System.Configuration.DefaultSettingValueAttribute("Data Source=127.0.0.1;Initial Catalog=ZKBS;User ID=sa;pwd=123")]
public string ZKBSConnectionString {
get {
return ((string)(this["ZKBSConnectionString"]));
}
}


要把强类型数据集作为单独的DAL,肯定连接字符串不能写死在程序集内部啊,想继续放到web.config中怎么办?

按照如下步骤:

1.在项目根目录下,新建一个Settings.settings.cs,拷贝Settings.Designer.cs的内容进来,并保存

2.把相关连接字符串部分改为如下这般

C# code
public string ZKBSConnectionString
{
get
{
//return ((string)(this["ZKBSConnectionString"]));
return System.Configuration.ConfigurationManager.AppSettings["ZKBSConnectionString"];
}
}


3.保存

4.把Properties目录的Settings.settings直接设置为"从项目中排除",不要删除,后面还有用处

这样,运行的时候就是从web.config中读取连接字符串了

需要注意的问题:
在强类型数据集设计过程中,是需要改变xsd文件还有Settings.settings相关设置的
这个时候如果Settings.settings还是处于"从项目中排除"状态的话,可能会出问题的...
所以需要将Settings.settings设置为"包含在项目中"

另外在xsd文件中,也保存着连接字符串设置,不过是指向程序集相关属性的,也就是我们上面改的地方,这里如果没有问题,最好不要手动改动,万一错了...(不过这个地方可能有挖掘的余地)

总结:
开发DAL程序集过程中,因为需要频繁变动,所以可以不用管什么连接字符串
发布的时候,执行步骤1,2,3,4

如果以后又要改动,先把Settings.settings包含进来
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: