Access VBA中的实体框架错误-“;在配置中找不到指定的命名连接…“;

Access VBA中的实体框架错误-“;在配置中找不到指定的命名连接…“;,vba,com,.net-4.0,entity-framework-4,com-interop,Vba,Com,.net 4.0,Entity Framework 4,Com Interop,我有一个Access VBA项目,在这里我引用了一个用C#编写的COM Interop.TLB。此C#代码只是查询SQL Server数据库,并通过简单的LINQ到实体查询返回值 我得到了这个问题中提到的相同错误: 然而,在我的例子中,它是一个.ADP应用程序中的Access VBA,它引用了我的.Net 4.0 TLB,而不是另一个.Net项目 我知道如果它是另一个.Net项目,我可以在其app.config或web.config中添加EF连接字符串XML。但是,如果我的“调用”应用程序是A

我有一个Access VBA项目,在这里我引用了一个用C#编写的COM Interop.TLB。此C#代码只是查询SQL Server数据库,并通过简单的LINQ到实体查询返回值

我得到了这个问题中提到的相同错误:

然而,在我的例子中,它是一个.ADP应用程序中的Access VBA,它引用了我的.Net 4.0 TLB,而不是另一个.Net项目

我知道如果它是另一个.Net项目,我可以在其app.config或web.config中添加EF连接字符串XML。但是,如果我的“调用”应用程序是Access 2003 VBA,那么修复方法是什么

下面是调用.Net代码的VBA代码

Dim CandidatePassword As String
Dim abc As New MISHash.Password

Dim PasswordStatus As Boolean
CandidatePassword = InputBox("Enter your password")
PasswordStatus = abc.IsValidPassword("myusername", CandidatePassword) ' FAILS HERE
If PasswordStatus Then
    MsgBox "Password valid."
Else
    MsgBox "Password failed."
End If
请帮忙。多谢各位

更新:这是我的C代码


请参见类似问题:

这两个似乎是您的最佳选择:

  • 手动创建辅助AppDomain
  • 转换为VSTO项目
  • 编辑

    您还可以尝试在构造函数中传递硬编码的连接字符串:

    MyDBEntities mycontext = new MyDBEntities("Server=.\SQLEXPRESS;Database=School;Trusted_Connection=true;Integrated Security=True;MultipleActiveResultSets=True"))
    

    我的连接字符串如下所示:metadata=res://*/MyModel.csdl | res://*/MyModel.ssdl | res://*/MyModel.msl;provider=System.Data.SqlClient;provider connection string=“Data Source=DBSERVER;Persist Security Info=True;User ID=dbuser;Password=dbpwd;MultipleActiveResultSets=True;Connect Timeout=120;Application Name=EntityFramework”我们如何将其传递给构造函数?我尝试了您的编辑建议的方法;我按照建议构建并使用EntityConnection连接对象,而不是连接字符串,并且它工作正常。非常感谢你给我指路。
    MyDBEntities mycontext = new MyDBEntities("Server=.\SQLEXPRESS;Database=School;Trusted_Connection=true;Integrated Security=True;MultipleActiveResultSets=True"))