我有 2 个集合映射,一个正在工作,另一个没有。我不知道为什么。
public class ProjectMappings : ClassMap<Project>
{
public ProjectMappings()
{
HasMany(x => x.Commits).Table("tCommits").Cascade.All().KeyColumn("fRC_Commit_ID").ForeignKeyConstraintName("fRC_Project_ID");
HasMany(x => x.Competencies).Table("tCompetencies").Cascade.All().KeyColumn("fIC_ID").ForeignKeyConstraintName("fIC_Project_ID");
}
}
public class CommitsMappings : ClassMap<Commit>
{
public CommitsMappings()
{
Table("tCommits");
Id(x => x.Id, "fRC_Commit_ID");
Map(x => x.ProjectID, "fRC_Project_ID").Not.Nullable();
}
}
public class CompsMappings : ClassMap<Competency>
{
public CompsMappings()
{
Table("tCompetencies");
Id(x => x.ProjectCompetencyID, "fIC_ID");
Map(x => ProjectID", fIC_Project_ID").Not.Nullable();
}
}
如果我运行代码: Project.Competencies.Clear(); - 从项目中清除所有能力如果我向项目添加新的组合,我可以简单地添加:Project.Competencies.Add(item);
但是我的 Commits 映射似乎由于某种原因而抛出,
消息:无法更新身份列“fRC_Commit_ID”。
这是什么意思?为什么会这样?
我正在尝试删除一些能力,添加一些新能力,并创建一个新的提交来显示项目的变化。在 Transaction.Commit() 我得到上面的错误。