Я создаю приложение на основе Entity Framework 4, которое использует SQL Server CE 3.5 в качестве хранилища данных.System.Data.UpdateException в SaveChanges() с SQL Server CE
У меня есть пустой файл .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.
От this question Я знаю, что при использовании с Entity Framework SQL Server CE 3.5 не поддерживает автоматически генерируемые первичные ключи. В моем случае, однако, я явно устанавливаю атрибут ID элемента, который я добавляю.
Есть ли что-то еще не так?
EDIT:
Это содержание моего .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
Что вы имеете для ID в таблице? он настроен на автоматическое создание? – Habib