我有这个代码和以下EF模型:
var modelToAdd = new Package
{
PackageID = model.LearningPackageID, // not auto-generated PK!
Name = model.Name,
Description = model.Description,
DateCreated = DateTime.Now,
ModuleID = model.ModuleID
};
activityRepo.AddPackage(modelToAdd);
这也不起作用
var modelToAdd = new Pacakge
{
PackageID = model.LearningPackageID, // not auto-generated PK!
Name = model.Name,
Description = model.Description,
DateCreated = DateTime.Now
};
// assume moduleID is defined to a valid module ID (yes, tested)
var module = entities.Modules.Where( x => x.ID == moduleID);
module.Pacakges.Add(modelToAdd);
entities.SaveChanges();
基本上,模块和包之间存在1:M的关系。但是,当我尝试设置ModuleID(从下拉列表中获取)时,对于这两种情况我都会得到:
A dependent property in a ReferentialConstraint is mapped to a store-generated column.
PackageID是字母数字,不是自动生成的,也就是ModuleID,因为它是FK
我该怎么办?
答案 0 :(得分:2)
请检查Package.ModuleID概念属性和存储列(我假设您使用的是Devart实体模型,因此您可以在Model Explorer中检查它 - > Model.Store)将StoreGeneratedPattern设置为None。非实体键引用约束属性既不是Identity也不是Computed。