主キーとして PresentationAuditId という列を持つ SQL Server 2008 に ScanMasters というテーブルがあります。この列も外部キーです。このテーブルには、ScanPartId という ID 列もあります。データベースに基づいて POCO を生成するために Entity Framework 4.1 を使用しています。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' の ID 列に明示的な値を挿入できません。
EF 4.1 の ID 列として非主キー列を使用できますか? これについてどうすればいいですか?