这就是我所做的。
作为启动工作的一部分,我需要一个自动启动和连接服务器数据库的服务。 这意味着需要将非行连接的名称储存在登记册中,在登记册中储存的护卫必须符合界定的联系方式。 答案是一份小型的Winforms资料袋,管理登记册储存服务启动参数,其中一部分储存参数是银连接线的 姓名/em>。
我在Linq创建的数据库背景类别中增加了两个固定功能。 一种方法列出了在“发展银行”项目背景下界定的亚洲开发银行连接名称。 第二种方法从非行连接名称中转回到了我。 登记册管理手册称为“统计员方法”,以填写名单箱和称为“<代码”的窗口服务。 GetDBContextFromConnectionName() 方法,将从登记册中检索的亚洲开发银行连接名称改为非行。 然后将非银的背景用于进入非行。
这两套方法被编入项目的第一类文件,与林克创建的数据内容类别相同。
结果是:
using System;
using System.Configuration;
using System.Collections.Generic;
using System.Collections;
namespace RepositoryProject
{
public partial class RepositoryDataContext
{
/// <summary>
/// Return a MS SQL-LINQ DB Context given the name of the DB Connection name defined in
/// Properties.Settings.Default area of the SQL-Linq project.
/// </summary>
/// <param name="dbConnectionName">The name of the prediefined DB Connection string</param>
/// <returns>A SQL-Linq database context </returns>
public static RepositoryDataContext GetDBContextFromConnectionName(string dbConnectionName)
{
string fullConnectionString = null;
dbConnectionName = dbConnectionName.Trim();
if (!String.IsNullOrEmpty(dbConnectionName))
{
SettingsPropertyCollection allConnectionStrings = global::Cognex.TA.Framework.Properties.Settings.Default.Properties;
SettingsProperty connectionProperty = allConnectionStrings[dbConnectionName];
if (null != connectionProperty)
{
fullConnectionString = (string) connectionProperty.DefaultValue;
if (String.IsNullOrEmpty(dbConnectionName))
{
string msg = "";
msg += String.Format( "The connection string name, {0}, exists within the settings of the RepositoryDataContext class but creates an empty DB connection string.", dbConnectionName);
throw new ArgumentException(msg);
}
}
else
{
string msg = "";
msg += String.Format( "The connection string name, {0}, does not exist within the settings of the RepositoryDataContext class.", dbConnectionName);
throw new ArgumentException(msg);
}
}
else
{
string msg = "";
msg += "The connection string name to the test repository cannot be null or empty.";
throw new ArgumentException(msg);
}
return new RepositoryDataContext(fullConnectionString);
}
/// <summary>
/// Return a list of all the DB Connection names defined in
/// Properties.Settings.Default area of the SQL linq project.
/// </summary>
/// <returns>A list of DB Connection name</returns>
public static List<string> GetAllDBConnectionNames()
{
List<string> listONames = new List<string>();
/*
* within the the Linq-generated code (TestRepository.designer.cs) there is an empty constructor for
* the data context which looks similar to this:
*
* public TestRepositoryDataContext() :
* base(global::Framework.Properties.Settings.Default.DefaultConnectionString, mappingSource)
* {
OnCreated();
* }
*
* Duplicate that assembly name here
*/
SettingsPropertyCollection allConnectionStrings = global::Framework.Properties.Settings.Default.Properties;
foreach(SettingsProperty entry in allConnectionStrings)
{
if (entry.PropertyType.ToString().Equals("System.String"))
{
listONames.Add(entry.Name);
}
}
return listONames;
}
}
}
我希望这一帮助。