实体框架4与SQL CE 4问题

本文关键字:CE 问题 SQL 框架 实体 | 更新日期: 2023-09-27 18:01:53

我通过创建模型创建了一个实体框架4.0应用程序。SQL Server精简版4.0数据库就是用这个技巧创建的。

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

访问元素
 Context context = new Context();
 foreach (var c in context.Customers) // Exception
 {
     System.Diagnostics.Debug.Print(c.ToString());
 }

在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'.

我在我的应用程序中添加了这些引用:

System.Data.Entity - 4.0
System.Data.SqlServerCe - 4.0
System.Data.SqlServerCe.Entity - 4.0

有没有人知道我的配置出了什么问题?

PS:我想使用SQL CE 4.0,因为计算值。如果我需要使用3.5,我需要改变我的体系结构(或者有可能在上下文类中实现类似计算值的东西吗?)

实体框架4与SQL CE 4问题

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