我正在使用 Entity Framework 4.1 我有一个“DomainEntities”表,其中包含我所有域实体的公共信息。我有一个用户表,用户 ID 是来自“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”中的一条记录,然后是“Users”中的一条记录。我究竟做错了什么 ?