【问题标题】:Building a dynamic IdeaBlade connection string using EntityConnectionStringBuilder使用 EntityConnectionStringBuilder 构建动态 IdeaBlade 连接字符串
【发布时间】:2015-09-27 14:09:42
【问题描述】:

好吧,而不是与xml 战斗,我被定向到EntityConnectionStringBuilder。所以这就是我到目前为止所拥有的。 EnityManagerFactory 调用 Create 方法。现在 Create 方法创建并返回一个 EntityManager,在本例中称为 UnionEntities

  public UnionEntities Create()
        {
            string providerName = "System.Data.SqlClient";
            string serverName = ConfigurationManager.AppSettings["DatabaseServer"];
            string databaseName = ConfigurationManager.AppSettings["DatabaseName"];
            string userName = ConfigurationManager.AppSettings["DatabaseUserName"];
            string password = ConfigurationManager.AppSettings["DatabasePassword"];
            bool integratedSecurity = bool.Parse(ConfigurationManager.AppSettings["IntegratedSecurity"]);

            SqlConnectionStringBuilder sqlBuilder = new SqlConnectionStringBuilder();

            // Set the properties for the data source.
            sqlBuilder.DataSource = serverName;
            sqlBuilder.InitialCatalog = databaseName;
            sqlBuilder.IntegratedSecurity = integratedSecurity;
            sqlBuilder.UserID = userName;
            sqlBuilder.Password = password;

            // Build the SqlConnection connection string.
            string providerString = sqlBuilder.ToString();

            // Initialize the EntityConnectionStringBuilder.
            EntityConnectionStringBuilder entityBuilder =
                new EntityConnectionStringBuilder();

            //Set the provider name.
            entityBuilder.Provider = providerName;

            // Set the provider-specific connection string.
            entityBuilder.ProviderConnectionString = providerString;

            // Set the Metadata location.
            entityBuilder.Metadata = @"res://*/UnionModel.csdl|
                        res://*/UnionModel.ssdl|
                        res://*/UnionModel.msl";

            var manager = new UnionEntities();
            manager.Saving += SaveValidationHelper.SavingHandler;
            manager.DefaultQueryStrategy = QueryStrategy.DataSourceOnly;

            return manager;
        }

现在通常新的UnionEntities()app.Config file 中使用ConnectionString。我现在如何告诉它使用我的 EntityConnectionStringBuilder 对象?

【问题讨论】:

    标签: c# winforms entity-framework devforce


    【解决方案1】:

    您可以在 DevForce 中实现 IDataSourceKeyResolver 以动态构建或修改连接字符串。该链接会将您带到 DevForce 资源中心上的一个主题,但如果您在那里搜索“IDataSourceKeyResolver”,您会找到更多信息和示例。

    【讨论】:

      猜你喜欢
      • 2014-08-08
      • 1970-01-01
      • 2023-03-25
      • 2013-11-20
      • 2010-11-08
      • 2010-10-24
      • 1970-01-01
      • 1970-01-01
      • 2015-12-02
      相关资源
      最近更新 更多