2

この問題はSQLServerCompact Edition4.0CTPで修正されていると聞きました

最近、SQL ServerCEとEntityFrameworkに足を踏み入れましたが、VS2010はまだSQL ServerCE4.0をサポートしていません

この問題の回避策が必要だと思います

エンティティオブジェクトのコンストラクター内で整数型のID主キーを生成する方法を教えてください

   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 を Entity Framework 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は、Entity Frameworkを使用する場合、サーバーで生成されたキーまたは値を使用する//エンティティをサポートしません。したがって、自分でキーを作成する必要があります。

そのため、SQL Server CompactからID(int)を自動生成するのではなく、手動で生成する必要があります。

于 2011-01-16T11:13:08.183 に答える
0

私は同じ問題に遭遇しました.1を追加した後、Id列の最大値を取得します。デスクトップ アプリケーションを開発している場合は、次のリンクの問題に注意する必要があります: ADO.Net Entity Framework によって SQL Compact にデータを挿入するときの問題

于 2010-09-23T09:16:52.690 に答える