在运行时更改xpo数据模型连接字符串

时间:2014-05-22 07:46:28

标签: c# devexpress

我有一个使用MSSQLSERVER的应用程序,当我将它部署到客户时,服务器名称可能会改变,所以我必须在运行时更改我的xpo数据模型的连接字符串,

这是使用XPO数据模型生成的类

public static class ConnectionHelper {
        public const string ConnectionString = @"XpoProvider=MSSqlServer;data source=localhost;integrated security=SSPI;initial catalog=tkdoc";
        public static void Connect(DevExpress.Xpo.DB.AutoCreateOption autoCreateOption) {
            XpoDefault.DataLayer = XpoDefault.GetDataLayer(ConnectionString, autoCreateOption);
            XpoDefault.Session = null;
        }
        public static DevExpress.Xpo.DB.IDataStore GetConnectionProvider(DevExpress.Xpo.DB.AutoCreateOption autoCreateOption) {
            return XpoDefault.GetConnectionProvider(ConnectionString, autoCreateOption);
        }
        public static DevExpress.Xpo.DB.IDataStore GetConnectionProvider(DevExpress.Xpo.DB.AutoCreateOption autoCreateOption, out IDisposable[] objectsToDisposeOnDisconnect) {
            return XpoDefault.GetConnectionProvider(ConnectionString, autoCreateOption, out objectsToDisposeOnDisconnect);
        }
        public static IDataLayer GetDataLayer(DevExpress.Xpo.DB.AutoCreateOption autoCreateOption) {
            return XpoDefault.GetDataLayer(ConnectionString, autoCreateOption);
        }
    }

如果服务器或用户名或密码更改

,我想更改ConnectionString

1 个答案:

答案 0 :(得分:0)

我建议您将连接字符串存储在应用程序配置文件中。这样,用户可以手动修改它,或者您可以为此提供特殊设置表单。

从应用程序配置文件中轻松读取连接字符串。代码示例可以在StackOverflow上找到:Get connection string from App.config