我在SQL Server 2008中有一个名为ScanMasters的表,它有一个名为PresentationAuditId的列作为主键。此列也是外键。该表还有一个名为ScanPartId的标识列。我正在使用Entity Framework 4.1根据我的数据库生成POCO。 EF SSDL以这种方式表示实体:
<EntityType Name="ScanMasters">
<Key>
<PropertyRef Name="PresentationAuditId" />
</Key>
<Property Name="ScanPartId" Type="int" Nullable="false" StoreGeneratedPattern="Identity" />
<Property Name="RackNum" Type="int" />
<Property Name="LoadDatetime" Type="datetime" />
<Property Name="PresentationAuditId" Type="bigint" Nullable="false" />
<Property Name="Item" Type="varchar" MaxLength="31" />
</EntityType>
当我为这个实体添加新数据并执行SaveChanges()时,我收到以下错误:
当IDENTITY_INSERT设置为OFF时,无法在表'ScanMasters'中为标识列插入显式值。
我们可以在EF 4.1中将非主键列作为标识列吗?我怎么能这样做呢?