2

听说此问题已在 SQL Server Compact Edition 4.0 CTP 中修复

最近刚进入 SQL Server CE 和实体框架,VS2010 还不支持 SQL Server CE 4.0

我想我需要解决这个问题

我可以知道如何在实体对象的构造函数中生成整数类型的身份主键吗

   public partial class Book 
 {

  public Book()
  {
   // SQL Server Compact does not support entities with server-generated keys or values when it is used 
   // with the Entity Framework. Therefore, we need to create the keys ourselves.


   Id = // Generating a Integer Identity Id here
     //similar to Guid.NewGuid();

  }
}

非常感谢您的帮助。

4

3 回答 3

1

我已经将 VS2010 和 SQL Server CE 与实体框架 CTP4 Code-First 一起使用,并且没有问题。我已经使用 NuPack(现在是 NuGet - http://nuget.codeplex.com/)安装了这两个东西,并将它与 ASP.NET MVC 3 Beta 应用程序一起使用。

NuGet 上最新版本的 SQLCE 是 4.0.8435.1,要与 EF 一起使用,您可以在其中使用 SQLCE.EntityFramework 4.0.8435.1。

于 2010-11-15T22:05:37.533 回答
0

这正是我正在寻找的:

// SQL Server Compact 在使用实体框架时不支持具有服务器生成的键或值的实体。因此,我们需要自己创建密钥。

所以我们必须手动生成我们的 id (int),而不是从 SQL Server Compact 自动生成它。

于 2011-01-16T11:13:08.183 回答
0

我遇到了同样的问题,在添加一个之后,我取了 Id 列的最大值。如果您正在开发桌面应用程序,您应该注意以下链接中的问题:Problem when inserting data into SQL Compact by ADO.Net Entity Framework

于 2010-09-23T09:16:52.690 回答