【问题标题】:How can l use Entity Framework without App.config我如何在没有 App.config 的情况下使用实体框架
【发布时间】:2012-01-13 15:56:30
【问题描述】:

我想使用没有app.config 文件的实体框架。

我想在我的代码中定义一个字符串变量Connection String 并用它来连接数据库。

如果可能,请告诉我路。

【问题讨论】:

    标签: entity-framework entity-framework-4 entity-framework-4.1


    【解决方案1】:

    您没有提到您正在使用什么方法(数据库优先、模型优先、代码优先) - 但基本上,最后,您需要定义一个字符串变量并为其分配一个有效的 EF 连接字符串

    string myConnectionString = "...(define a valid EF connection string here)......";
    

    数据库优先方法示例:

    string myConnectionString = @"metadata=.\Model1.csdl|.\Model1.ssdl|.\Model1.msl;provider=System.Data.SqlClient;provider connection string="";data source=.;initial catalog=test;integrated security=True;multipleactiveresultsets=True;App=EntityFramework""";
    

    然后使用它来创建您的ObjectContext(数据库优先和模型优先)或DbContext(代码优先)

    using(ObjectContext ctx = new ObjectContext(myConnectionString))
    {
        // do your EF magic here.....
    }
    

    但老实说 - 我认为这是一个非常糟糕的主意,因为这使得您不可能将您的应用程序移动到另一台机器上 - 没有其他人可以安装和运行这个,因为连接字符串被硬编码到你的 C# 代码中......拥有配置文件的全部意义在于你可以更改/调整连接字符串之类的东西,以便它们 不是 绑定到单个机器/位置,但可以适应给定用户/客户的特定需求....

    【讨论】:

    • +1 虽然...由于硬编码的数据库连接信息,我得到了一些常规工作,所以也许我应该支持做这种事情!
    • 你在哪里处理 myConnectionString。当我使用这个时我得到错误
    • 虽然硬编码连接信息可能不是一个好主意,但在某些情况下可能无法使用配置文件。我遇到过一个问题:我正在编写的类库将由一个不能使用配置文件的 Dynamics CRM 应用程序调用 - 配置设置必须传递到类的构造函数中。
    • 可能很少见,但有时您需要从另一个配置源传递连接信息,因此了解如何执行此操作很有价值。
    • 我们将设置存储在注册表中,因此我们从注册表中读取并将其传递给此构造函数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-19
    • 2020-11-13
    • 2019-04-10
    • 1970-01-01
    相关资源
    最近更新 更多