我遇到了一个类似的问题,与现有的问题具有相同的标题,但略有不同。ReferentialConstraint中的依赖属性映射到商店生成的列。列:'SpecificationID'
我得到的错误:
A dependent property in a ReferentialConstraint is mapped to a store-generated column. Column: 'SpecificationID'.
当我尝试保存到数据库:
var doc = new Specification();
doc.ProjectComponentID = spec.ProjectComponentID;
doc.Description = spec.Description;
db.Specifications.Add(doc);
db.SaveChanges();
当我创造了我使用的种子的方法来映射1对1或无关系数据库:
modelBuilder.Entity<Specification>()
.HasRequired(pc => pc.ProjectComponent)
.WithOptional(s => s.Specification);
我2个相关的实体是:
public class ProjectComponent
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ProjectComponentID { get; set; }
public int ProjectID { get; set; }
public virtual Project Project { get; set; }
public int ProjectPhaseID { get; set; }
public virtual ProjectPhase Phase { get; set; }
... other properties ...
public Nullable<int> SpecificationID { get; set; }
public virtual Specification Specification { get; set; }
}
public class Specification
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int SpecificationID { get; set; }
public int ProjectComponentID { get; set; }
public virtual ProjectComponent ProjectComponent { get; set; }
public string Description { get; set; }
}
我需要能够将规范添加到PRojectComponent。使用ProjectComponentID提供规范,但自动生成规范ID仅当尝试保存规范时,我才会在创建数据库时遇到任何错误。