【发布时间】:2011-02-22 02:11:15
【问题描述】:
假设我有 2 张桌子:
Person(pid, ....) //Pid is identify colum as primary key
Student(pid, Student_No,...) //pid is foreign key from Person, pid is a primary key too.
然后使用EF生成实体模型。然后尝试使用以下代码插入新数据:
Person person = new Person()
{ FirstName = "FirstName", LastName= "LastName", ... };
Student student = new Student(){Student_No="001", ...};
Student.Person = person;
mycontext.Students.AddObject(student);
mycontext.SaveChanges();
然后我得到错误: ReferentialConstraint 中的依赖属性映射到存储生成的列。列:'pid'。
如何解决?
修改代码如下:
Person person = new Person(){ FirstName = "FirstName", LastName= "LastName", ... };
mycontext.People.AddObject(person);
mycontext.SaveChanges();
Student student = new Student(){Student_No="001", Person = person, ...};
// or Student student = new Student(){Student_No="001", pid= person.pid, ...};
mycontext.Students.AddObject(student);
mycontext.SaveChanges();
然后我可以为人插入,但对于学生,仍然得到同样的错误。检查 EDM 中的学生实体 pid 属性:storegeneratedPatteren = None。很困惑。
【问题讨论】: