1

我知道标题看起来有些混乱,所以让我解释一下。:)

我有一个 MVC 3.0 项目,我为其维护一个公共存储库@github,并说项目利用实体框架和成员资格提供程序(所以这是两个单独的连接字符串)。

我遇到的问题是 MS SQL 数据库的 Sequilizer 的“别名”属性,让我在构建时只指定一个要替换的 connectionString 值。因为我不能以编程方式修改 web.config(并且 web.config 转换不适用,因为它会使我的敏感数据在公共 github 存储库上向世界开放),所以我可以选择我想使用的更多 -> 实体或会员资格(另一种解决方案是让我的一个 connectionStrings 易受攻击)。

由于 MembershipProvider 需要在构建时知道 connectionStringName(一切都在 web.config 中指定),我有点不知道如何去做这一切。

任何帮助表示赞赏!

干杯

4

1 回答 1

2

好吧,伙计们,我想我终于设置好了一切。

我所做的是,我只将别名用于我的普通连接字符串,它将提供会员资格 - 而我覆盖了 ObjectContext 默认构造函数(在“MyProjectEntities.Designer.cs”中)以使用我的配置变量(名为“EntityFramework”)在包含实体框架 connectionString 的 AppHarbor 上设置,如下所示:

public MyProjectEntities() : base(ConfigurationManager.AppSettings["EntityFramework"].ToString(), "eTestHubEntities")
    {
        this.ContextOptions.LazyLoadingEnabled = true;
        OnContextCreated();
    }

经过测试并按我希望的方式工作。:)

于 2012-08-08T23:41:30.383 回答