具有SQL CE 4问题的实体框架4

Fox*_*x32 2 c# entity-framework sql-server-ce

我通过创建模型创建了一个实体框架4.0应用程序.使用此技巧创建SQL Server Compact 4.0版数据库.

现在我完成了将初始数据导入数据库的所有代码(添加元素工作正常).但是,如果我尝试通过访问元素

 Context context = new Context();

 foreach (var c in context.Customers) // Exception
 {
     System.Diagnostics.Debug.Print(c.ToString());
 }
Run Code Online (Sandbox Code Playgroud)

它在foreach循环的开头抛出一个异常:

[A]System.Data.SqlServerCe.SqlCeConnection cannot be cast to 
[B]System.Data.SqlServerCe.SqlCeConnection. Type A originates from 
'System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=89845dcd8080cc91' in the context 'Default' at location
'C:\Windows\assembly\GAC_MSIL\System.Data.SqlServerCe\4.0.0.0__89845dcd8080cc91\
System.Data.SqlServerCe.dll'. Type B originates from 'System.Data.SqlServerCe, 
Version=3.5.1.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' in the context
'Default' at location  'C:\Windows\assembly\GAC_MSIL\System.Data.SqlServerCe\
3.5.1.0__89845dcd8080cc91\System.Data.SqlServerCe.dll'.
Run Code Online (Sandbox Code Playgroud)

我将这些引用添加到我的应用程序:

System.Data.Entity - 4.0
System.Data.SqlServerCe - 4.0
System.Data.SqlServerCe.Entity - 4.0
Run Code Online (Sandbox Code Playgroud)

有没有人有想法,我的配置有什么问题?

PS:我想使用SQL CE 4.0,因为计算值.如果我需要使用3.5,我需要改变我的架构(或者是否可以在上下文类中实现类似计算值的东西?).

Eri*_*kEJ 9

我认为您的edmx文件(在XML编辑器中查看)仍然引用3.5,将其更改为4.0