EntityFramework自定义程序集连接的Linqpad错误(成员未解析类型)

时间:2015-10-26 22:45:58

标签: .net entity-framework linqpad

在我的硬盘崩溃之前,Linqpad(第4版和第5版)在我的装配上运行良好。由于我已经在新驱动器上重新安装了Linqpad,因此无法使用我当前的自定义组件。它适用于它的旧版本,但不适用于当前版本。在图像中,您可以直接看到与sdf文件的良好连接,而另外两个良好的连接都使用旧的程序集。我唯一能想到的是,在当前的项目中,问题可能出在最新的EF 6.1.3上。我只是不知道如何解决这个问题,非常感谢任何帮助,谢谢!

Linqpad Error with my custom assembly

2 个答案:

答案 0 :(得分:0)

检查connectionString。在我的情况下,我没有通过我创建EDMX的命名空间。例如 -

res://SomeNamespace.MyDataModel.csdl....

我在一个子目录下创建了EDMX,使其继承了命名空间。

一旦我将名称空间添加到连接字符串,它就像往常一样工作。

答案 1 :(得分:0)

这来晚了,但也许对其他人有帮助

我的错误实际上与众不同:UnintentionalCodeFirstException 经过一番挖掘,事实证明我使用了错误的程序集和错误的配置文件。 在我们的设置中,有一个带有EF组件的程序集,然后可以在各种项目中使用它。我正在使用该项目中的程序集以及该项目的appsettings.config。原来我需要EF程序集的配置。 不仅如此,连接字符串的语法可能不受支持,所以我最终要做的是基于EF项目一个创建另一个配置文件,并在其中包含所需的值。

这是我配置中的相关部分(请确保相应地替换特定的个人值(服务器,数据库,密码等)

  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
  </configSections>
  <connectionStrings>
    <add name="MyEntities" connectionString="metadata=res://*/EntityFramework.MyEntities.csdl|res://*/EntityFramework.MyEntities.ssdl|res://*/EntityFramework.MyEntities.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=MySqlSRV;initial catalog=MyDB;persist security info=True;user id=sa;password=myPass;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="Data Source=MySqlSRV; Integrated Security=True; MultipleActiveResultSets=True" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>

我认为您存在类似的问题,因为元数据配置错误。