LinqPad - EntityFramework 4.3.1 - MissingMethodException - Sql Compact

时间:2012-04-15 07:42:17

标签: .net-4.0 sql-server-ce linqpad entity-framework-4.3 missingmethodexception

我的POCO模型与我的asp.net mvc 3网站分开。

我在LinqPad Beta中创建了新连接:为Poco选择了v4.41.01选项,提供了自定义dll的路径,选择了DbContext,通过无参数构造函数选择。

这不起作用,因为我正在使用SqlServer Compact。

然后我创建了dummy.config文件,如下所示:

   <?xml version="1.0" encoding="utf-8"?>
   <configuration>
    <configSections>
        <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.1.0,  Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  </configSections>
  <entityFramework>
  <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
    <parameters>
      <parameter value="System.Data.SqlServerCe.4.0" />
    </parameters>
  </defaultConnectionFactory>
</entityFramework>
    <connectionStrings>
        <add name="ModelContext"
             connectionString="data source=database.sdf"
             providerName="system.data.sqlserverce.4.0" />
    </connectionStrings>
</configuration>

这样,连接测试成功。甚至,左边的树也被填充。但是当我运行任何查询时,它会抛出异常,如下所示: 找不到方法:'System.Data.Entity.DbSet`1 InventoryModelContext.get_xxx()'。

编辑:另请注意,这似乎是编译错误!

任何解决方案或解决方法?我错过了什么吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我也有这个问题,它开始时没有任何明显的原因 - 在我的环境中没有改变任何东西。

我正在使用EF4.2 Poco,LINQPad 4.42.01

为了解决我开始以 Administartor 运行LINQPad,它解决了它。我不确定是什么改变了它让它破了,我还没有使用LINQPad一段时间,所以也许它是一些LINQPad的自动更新或类似的东西。

更新重新安装后,由于某种原因,Administartor技巧无法正常工作,我找到的新方法是先查询而不指定数据库(在右上角,它显示为<None> ),然后我得到一个错误,我要查询的内容在此上下文中不存在,然后我将数据库设置为正确的上下文,并且它可以工作。

仍然不确定究竟是什么导致它。