SQL Server CE 3.5 をデータ ストアとして使用する Entity Framework 4 ベースのアプリを作成しています。
Entity Data Model から作成されたスクリプトで生成された空の.sdf
ファイルがあります。.sqlce
このコードを実行すると:
Item item = new Item();
item.ID = 1;
item.Title = "example";
item.Value = 37;
using (ModelContainer context = new ModelContainer())
{
context.ItemsSet.AddObject(item);
context.SaveChanges();
}
SaveChages()
私はこれを得るSystem.Data.UpdateException
:
サーバーで生成されたキーとサーバーで生成された値は、SQL Server Compact ではサポートされていません。
この質問から、Entity Framework で使用する場合、SQL Server CE 3.5 は自動生成された主キーをサポートしないことがわかります。ただし、私の場合は、追加するアイテムの ID 属性を明示的に設定します。
他に何か問題がありますか?
編集:
これは、.sqlce
削除後のスクリプトの内容IDENTITY(1,1)
です。
-- Creating table 'ItemsSet'
CREATE TABLE [ItemsSet] (
[ID] int NOT NULL,
[Title] nvarchar(4000) NOT NULL,
[Value] int NULL
);
GO
-- Creating primary key on [ID] in table 'ItemsSet'
ALTER TABLE [ItemsSet]
ADD CONSTRAINT [PK_ItemsSet]
PRIMARY KEY ([ID] );
GO