应用配置中的外部连接字符串

本文关键字:连接 字符串 外部 配置 应用 | 更新日期: 2023-09-27 18:31:58

我在解决 EF 中的连接字符串问题时遇到问题,我想在其他文件中分隔连接字符串。

我有一个 connections.config 包含:

<connectionStrings>
    <add name="DefaultContext" connectionString="myconnection" providerName="System.Data.EntityClient" />
</connectionStrings>

在我的应用程序配置中,我有:

<connectionStrings configSource="connections.config"/>

但是当我转到模型浏览器并尝试更新模型时,出现更新向导以创建新连接。EF 无法处理此问题或我做错了什么?

TNX

应用配置中的外部连接字符串

我认为动态

连接的最佳方法是像代码优先一样手动操作。

只需手动创建模型和映射即可。

DatabaseContext db = new DatabaseContext("the connection string you want");
var listUsers = db.UserProfiles.ToList();

并在实现 DbContext 接口的"模型"上创建一个分部类。

public partial class DatabaseContext : DbContext
    {
        public DatabaseContext(string connString)
            : base(connString)
        {
            Database.SetInitializer<DatabaseContext>(null);
        }
        public DbSet<ASPStateTempApplication> ASPStateTempApplications { get; set; }
        public DbSet<ASPStateTempSession> ASPStateTempSessions { get; set; }
        public DbSet<sysdiagram> sysdiagrams { get; set; }
        public DbSet<UserProfile> UserProfiles { get; set; }
        public DbSet<VisualizacoesLog> VisualizacoesLogs { get; set; }
        public DbSet<webpages_Membership> webpages_Membership { get; set; }
        public DbSet<webpages_OAuthMembership> webpages_OAuthMembership { get; set; }
        public DbSet<webpages_Roles> webpages_Roles { get; set; }
    //Another Tables from database

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Configurations.Add(new ASPStateTempApplicationMap());
            modelBuilder.Configurations.Add(new ASPStateTempSessionMap());    
            modelBuilder.Configurations.Add(new sysdiagramMap());
            modelBuilder.Configurations.Add(new UserProfileMap());
            modelBuilder.Configurations.Add(new VisualizacoesLogMap());
            modelBuilder.Configurations.Add(new webpages_MembershipMap());
            modelBuilder.Configurations.Add(new webpages_OAuthMembershipMap());
            modelBuilder.Configurations.Add(new webpages_RolesMap());
            //Another mappings from database

        }
}

下面的链接有一个模型和映射的很好的例子。

http://www.codeproject.com/Tips/661053/Entity-Framework-Code-First-Map

希望有帮助。 :)