【问题标题】:Linqpad error with EntityFramework Custom Assembly Connection (Type is not resolved for member)EntityFramework 自定义程序集连接的 Linqpad 错误(未为成员解析类型)
【发布时间】:2015-10-26 22:45:57
【问题描述】:

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

【问题讨论】:

  • 我有一个类似的错误:错误:成员 'System.Data.Entity.Migrations.Infrastructure.AutomaticMigrationsDisabledException,EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 的类型未解析'。 Ef。 6.1.3
  • 是的,我还没有解决这个问题。我喜欢 Linqpad,但我不能随心所欲地使用它。

标签: .net entity-framework linqpad


【解决方案1】:

检查连接字符串。就我而言,我没有传递创建 EDMX 的命名空间。例如 -

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

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

将命名空间添加到连接字符串后,它就可以正常工作了。

【讨论】:

  • 谢谢你,Arpit,我希望事情就这么简单。但不管我做什么,我都会遇到同样的错误。
  • @JoeAlbahari 我希望它会,谢谢你的建议。我在解决方案中有两个项目,一个用于应用程序,另一个用于数据模型,它们的目标不是相同的 .Net 框架,但现在我将它们都设为 4.6 并重建了解决方案,我得到了与上面相同的错误.还有其他想法吗?
【解决方案2】:

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

我的错误实际上不同: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>

我假设您有类似的问题,因为您的元数据配置错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多