【问题标题】:Configure Connection String on Entity Framework C++/CLI在实体框架 C++/CLI 上配置连接字符串
【发布时间】:2017-02-21 12:15:57
【问题描述】:

我有几个项目(我正在尝试连接到本地数据库):

  1. 使用EF连接DB的DB_API项目(C#项目)
  2. NativeCallingCLR.MixedDLL (C++/CLI) - 调用 C# DB API 方法的 IL 桥
  3. NativeCallingCLR.Native (C++) - 从 C++/CLI 实现 API 以连接到数据库

此项目结构基于: https://www.codeproject.com/Articles/35041/Mixing-NET-and-native-code

我正在尝试将 EF 配置为不与正在运行的程序集配置连接,而是与其他配置/创建一个配置文件到本机 c++ 项目。

我尝试过这样配置连接:

创建这样的类结构:

public partial class ABC : DbContext
{
    public ABC(DbConnection conn) : base (conn,true)
    {

    }
}

然后像这样创建 DbConnection 对象:

public int CreateConnection(string DBConnectionString, string DBProviderName)
{
    var conn = DbProviderFactories.GetFactory(DBProviderName).CreateConnection();
    conn.ConnectionString = DBConnectionString;
    db = new ABC(conn);
    return _PASS;
}

我正在使用这些参数调用 CreateConnection:

DBConnectionString="metadata=res://*/InDBM.csdl|res://*/InDBM.ssdl|res://*/InDBM.msl;provider=System.Data.SqlClient;provider connection string='data source=localhost;initial catalog=Mycatalog;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework'"

DBProviderName="System.Data.EntityClient"

当我尝试连接 app.config 和正在运行的 C# 程序集时,这些参数工作正常,但当我尝试连接创建 Dbconnection 对象时,此方法失败。

有人知道我在这里做错了什么吗?

【问题讨论】:

    标签: c# c++ .net entity-framework c++-cli


    【解决方案1】:

    好吧,好像我并没有真正理解我在做什么。

    这篇stackoverflow帖子为我解决了这个问题:

    How do I programmatically set the connection string for Entity-Framework Code-First?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-12
      • 2011-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多