EntityFramework4.1を使用しています。すべてのドメインエンティティの共通情報を保持する「DomainEntities」テーブルがあります。ユーザーテーブルがあり、UserIDは「DomainEntities」からの外部キーです。
EDMXを参照してください。
次のコードを実行すると、エラーが発生します。
依存操作の有効な順序を判別できません。依存関係は、外部キーの制約、モデル要件、またはストアで生成された値が原因で存在する可能性があります。
コード:
static void addUserTest()
{
DomainEntity userToAdd = new DomainEntity()
{
EntityName = "Test User",
EntityTypeID = DomainEntity.eEntityType.User,
EntityCreationDate = new DateTime(),
EntityLastUpdateDate = new DateTime(),
EntityCreatorUserID = 0,
EntityUpdaterUserID = 0,
EntityParentID = null,
UserDetails = new User()
{
Username = "TestUser",
Password = "123",
FirstName = "Test",
LastName = "User"
}
};
using (var context = new CamelotDB())
{
context.DomainEntities.Add(userToAdd);
context.SaveChanges();
}
}
EFが必要なINSERT順序を理解できる理由がわかりません。これは、「DomainEntities」に1つのレコード、次に「Users」に1つのレコードである必要があります。私は何を間違っているのですか?