问题标签 [sql-server-ce-4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
397 浏览

sql-server - 是否可以为 SQL Express 和 SQL CE 4.0 使用相同的实体框架模型?

我目前正在从事一个 SOA 项目,在某些地方,服务使用轻量级数据库 (SQL CE 4.0) 是有意义的,而在其他地方则需要更健壮的数据库(现在是 SQL Express,但可能会扩大规模)到更大的版本)。

尽管 SQL Express 和 SQL CE 的模型和表结构相同,但我无法弄清楚如何让 Entity Framework 使用相同的 EDMX 来处理这两个数据库。两者的概念模型相同,存储模型的唯一区别是用于访问数据库的提供程序名称。

我是否遗漏了什么,或者我需要保留两个基本相同的模型,每个数据库一个。

我正在使用 .NET 4.0、实体框架和 VS 2010 SP1

0 投票
1 回答
4885 浏览

entity-framework-4 - Entity Framework 4.0 with Sql Compact Edition 4.0 - 未实现异常

我有这个 LINQ 查询:

使用 SQL Server 时,一切正常。但是,在使用 SqlCe 时,出现以下错误:

知道这里发生了什么吗?

ToArray()我什至尝试过打电话foreach,但这并没有帮助。

编辑:

如果我将查询更改为:

它有效......为什么?

编辑2:顺便说一句,Parent导航器指向同一张表,所以每个人都Node可以有 {0..1} parent Node

0 投票
4 回答
2871 浏览

sql - 如何确定 Compact edition 4 到 full sql server 2008 的 SQL server 版本号?

很多人都询问并回答了如何使用@@VERSION 或 SERVERPROPERTY('productversion') 之类的东西来确定 sql server 的版本,但这些都不适用于 sql server compact edition 4。

是否有一些普遍支持的方法可以通过 sql 查询或 ado.net 代码确定正在使用的 sql server 版本和版本,这些代码适用于紧凑版一直到完整的 sql server?

我想确定正在使用的 SQL Server 的确切版本/版本,因此我知道要从我的代码中发出哪种类型的分页查询。Sql CE 4 使用与 sql server 2011 (denali) 相同的新格式进行分页查询,并且 2005 和 2008 有自己的方法,在 CE 4 中不受支持。

我认为答案是不可能的,但我只是想确保我没有忽略某些事情。

0 投票
1 回答
1618 浏览

c# - EF 4.1 代码优先 SqlCe 和 DateTimeOffset

我有一个像这样的实体:

..然后使用 EF fluent API 构建数据库:

现在这一切在与 SQL 2008 对话时都有效。为了测试,我使用 SQL CE 4.0,并且因为 Sql CE 不支持 datetimeoffset,所以上面的代码是一堆。

我有什么选择可以让它适用于 Sql 2008 和 Sql CE?

0 投票
1 回答
2432 浏览

visual-studio-2010 - 遵循使用 Visual Studio Professional 的 ASP.Net MVC 3 教程时,我在哪里可以找到我的 SQL CE 4.0 .sdf 文件?

我正在使用ASP.Net MVC 站点上的教程将我的技能升级到 ASP.Net MVC 3、Entity Framework、SQL CE 4.0 等。但是,我使用的是 Visual Studio 2010 Professional,而不是 Express。在本课中,SQL CE 4.0 数据库 Movies.sdf 应该自动创建并存储在 App_Data 中。但是,程序运行良好,我可以创建、插入项目、停止调试并重新启动,并且数据仍然存在。但是,App_Data 文件夹或项目中的任何其他文件夹中没有 Movies.sdf 文件。

我下载了 Visual Studio 2010 Express,再次运行了教程的步骤,这次在 App_Data 中创建了文件。

My question is: Where is the |DataDirectory| pointing to in Visual Studio 2010 Professional and why is it different from VS 2010 Express? Is there any way I can check before running a program where |DataDirectory| is set to?

0 投票
2 回答
6968 浏览

entity-framework-4 - LINQ to Entities StringConvert(double)' 无法转换为将 int 转换为字符串

问题

需要使用 EF4 + SQL CE4 将 int 转换为字符串。使用 SqlFunctions.StringConvert(double) 的推荐选项仍然给我错误。

选项 1(原件)。这给了我错误:

选项 2(最建议)。然后正如许多帖子所暗示的那样,我使用了 System.Data.Objects.SqlClient 库中的 SqlFunctions.StringConvert() 函数:

现在显示以下错误:

选项 3(针对非常具体的情况)。然后另一篇文章展示了一个使用 Dictionary 的智能解决方案,它最终可以工作:

但仅适用于简单的对值(键、值)。有人可以帮我解决另一个问题,或者我在选项 2 上做错了什么吗?

我希望微软能在推动我们从已经稳定且更加成熟的 L2S 迁移之前尽快做出 EF。我实际上使用 EF4 只是因为想使用 SQL CE,否则我会留在 L2S。

0 投票
1 回答
1726 浏览

sql-server-ce - SQL Server CE 4 的查询分析器或探查器

是否有适用于 Microsoft SQL Server CE 4 的查询分析器或分析器?

0 投票
2 回答
6368 浏览

c# - 多对多关系基本示例 (MVC3)

我有一个 MVC3 C# 项目,我有一个 FoodItem 和 FoodItemCategory 模型。两种模型如下图所示:

我有一个最初从 Scaffolder 生成的 _CreateOrEdit.cshtml 视图,我对其进行了修改以包含所有类别并选中食品所属的框。一个食品项目可以有许多或所有类别。视图如下所示:

如您所见,我有一个嵌套循环,它为每个类别创建一个复选框,并且在创建每个类别时,我循环并在模型的 Categories 属性中检查该特定类别。如果存在,我设置复选框的选中属性。如果您选中一个框并单击保存,则在控制器上的 HttpPost 操作上,我将执行以下操作:

我可以一次保存类别。如果我返回视图,然后单击保存,我会收到以下错误:

不能将重复值插入唯一索引。[表名=>FoodItemCategoryFoodItems,约束名= PK_FoodItemCategoryFoodItems_00000000000000A8 ] 描述:当前Web请求执行过程中出现未处理的异常。请>查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Data.SqlServerCe.SqlCeException:无法将重复值插入 > 唯一索引。[ 表名 = FoodItemCategoryFoodItems,约束名称 = >PK_ FoodItemCategoryFoodItems _00000000000000A8 ]

源错误:

第 97 行: context.Entry(foodItem).State = EntityState.Modified; 第 98 行:foodItem.Categories = 类别;第 99 行:context.SaveChanges(); 第 100 行:返回 RedirectToAction("Index"); 第 101 行:}

不确定这是否重要,但我使用的是 SQLServer Compact Edition 4。我这样做的方式是否正确?像这样的事情的正常编码实践是什么?我知道每天都会发生同样的情况,因为在博客等许多情况下都使用了同样的关系模型。

0 投票
1 回答
151 浏览

wpf - 如何在 EF Code First 中生成数据库?

我不打算在 MVC 网站中使用 EF Code First。我希望在具有 WPF 客户端的应用程序中使用它。

项目设置为

  • ContactManager.Core // 包含所有
    实体(dll)
  • ContactManager.Data // 包含DataContext和其他数据相关的Services(dll)
  • ContactManager.Services // 业务
    组件 (dll)
  • ContactManager.Client // WPF
    应用程序

我无法生成 SQLExpress 或 SQLCE 4.0 DB。我对紧凑版 db 更感兴趣。除了我的单元测试失败之外,我没有收到任何错误,因为它试图连接一个不存在的数据库。

0 投票
1 回答
810 浏览

asp.net - MVC 3,MVC 脚手架。使用 SQLCe 而不是 Express。未创建数据库文件

我一直在MVCScaffolding为我的下一个 CMS 使用新的,到目前为止它非常棒。太棒了,直到我想将我的SQLExpress默认数据库更改为SQLCe本地数据库。

在这里(http://blog.stevensanderson.com/2011/01/13/scaffold-your-aspnet-mvc-3-project-with-the-mvcscaffolding-package/)它说如果我安装“ EFCodeFirst.SqlServerCompact”包它'将负责更改它,甚至创建数据库文件。所以我做到了。

它创建了一个名为“ SQLCEEntityFramework.cs”的文件,在该文件中存在一些错误。就像对System.Data.Entity.Database不再存在的“”的引用和对DbDatabase现在的引用一样Database。所以我修复了这些错误并运行了应用程序。

一切都照常运行,但没有连接字符串被添加到我的目录Web.config中,也没有在我的App_Data目录中创建数据库文件。所以现在我开始怀疑我是否做错了什么......

任何人都知道这里发生了什么以及如何解决它?

多谢。

编辑:以防万一您想查看 SQLCEEntityFramework.cs 文件中的内容: