LinqPad - EntityFramework 4.3.1 - 缺少方法异常 - Sql Compact

3

我的POCO模型是与我的ASP.NET MVC 3网站分开的dll。

我在LinqPad Beta(v4.41.01)中创建了一个新的连接:选择Poco选项,提供自定义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>

完成后,连接测试成功。即使左侧的树形菜单也已填充。但是运行任何查询时,都会抛出以下异常:Method not found: 'System.Data.Entity.DbSet`1 InventoryModelContext.get_xxx()'.

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

有解决方案或解决方法吗?我有遗漏什么吗?谢谢。

提前致谢。

1个回答

0

我也遇到了这个问题,它似乎是无缘无故地开始的 - 我没有改变环境中的任何东西。

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

为了解决这个问题,我以管理员身份运行LINQPad,问题得到了解决。我不确定发生了什么导致它出现问题,因为我已经有一段时间没有使用LINQPad了,所以可能是LINQPad的某个自动更新或类似的东西。

更新:重新安装后,管理员技巧不起作用了,我找到了一个新方法,即首先查询而不指定数据库(右上角显示<None>),然后会出现错误提示说我要查询的内容在此上下文中不存在,然后我将数据库设置为正确的上下文,就可以正常工作了。

仍然不确定实际原因是什么。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接