visual studio - C# 4.0/EF - Server-generated keys and server-generated values are not supported by SQL Server Compact -


i have moved 1 of projects vs2010/fx4.0 , using sql ce database backing store. since moving version of .net getting error:

server-generated keys , server-generated values not supported sql server compact.

my table was defined pk of username (string) & dooropen (datetime) sqlce required there pk on every table in fx3.5. in fx4.0 stumped. i've googled , every answer found was:

sqlce not support auto-generating values (which not needing) put guid id on there , populate code.

i tried approach , still getting same error!

sqlce:

create table [importdooraccesses] (     [rawdata] nvarchar(100)  not null,     [dooropen] datetime  not null,     [username] nvarchar(100)  not null,     [cardnumber] bigint  not null,     [door] nvarchar(4000)  not null,     [imported] datetime  not null,     [id] uniqueidentifier  not null -- new column );  alter table [importdooraccesses] add constraint [pk_importdooraccesses]     primary key ([id] ); 

the constraint used be:

alter table [importdooraccesses] add constraint [pk_importdooraccesses]     primary key ([dooropen],[username]); 

code:

foreach (dto.dooraudit newdooraudit in datatransferobject) {     if (newdooraudit.doinsert)     {         myentities.addtoimportdooraccesses(new importdooraccess         {             cardnumber = newdooraudit.cardnumber,             door = newdooraudit.door,             dooropen = newdooraudit.dooropen,             imported = newdooraudit.imported,             rawdata = newdooraudit.rawdata,             username = newdooraudit.username,             id = guid.newguid()  // - here suggested!         });     } } myentities.savechanges(); 

so, what? bug in ef4? doing wrong?

tia


note:

going through edmx file (right-click, open with, xml) found 1 of date columns set storegeneratedpattern="identity".

  <entitytype name="importdooraccesses">     <key>       <propertyref name="id" />     </key>     <property name="rawdata" type="nvarchar" nullable="false" maxlength="100" />     <property name="dooropen" type="datetime" nullable="false" />     <property name="username" type="nvarchar" nullable="false" maxlength="100" />     <property name="cardnumber" type="bigint" nullable="false" />     <property name="door" type="nvarchar" nullable="false" />     <property name="imported" type="datetime" storegeneratedpattern="identity" nullable="false" />     <property name="id" type="uniqueidentifier" nullable="false" />   </entitytype> 

i switched pretty model view , clicked on every single column in database make sure not set. pita sure. looks perfect little tool/add-in needs created...

the important thing check edmx file , make sure property/column doesn't have storegeneratedpattern of identity in there.


Comments

Popular posts from this blog

javascript - Enclosure Memory Copies -

php - Replacing tags in braces, even nested tags, with regex -