在尝试使用LINQ to SQL时遇到了一些问题。
我有桌面人员:
表符号包含:
PersonID是外键,关系是1:n
我尝试使用LINQ to SQL为每个人创建一个人和一些笔记。
Person person = new person();
Person.firstName = "me";
Person.note = new note();
Person.note.noteText = "some text…";
_DataContext.Persons.InsertOnSubmit(person);
_DataContext.SubmitChanges();
问题是数据库中尚不存在person对象,因此它还没有ID。所以note.personID字段的值为0 ......(ID字段是sql server中的标识字段)
我找到的唯一解决方案是创建一个人,提交更改,然后创建一个注释并再次提交更改。
我在这里遗漏了一些东西,或者这可能是LINQ to SQL的用法吗?
如何使用LTS为每个人添加多个笔记?我有一个1:n的关系,我没有看到LTS。
如果一个人有10000个笔记,我不希望person对象构造函数加载他拥有的所有笔记。我想在我引用它们时加载它们。如何配置LTS按需加载笔记?
答案 0 :(得分:3)
如果您不使用LinqToSql类设计器,则应考虑使用它。它生成的类将支持您概述的插入方案。
我可以告诉你没有使用设计器,因为它会在Person上给你一个Notes(复数)属性......因为Person是1到多数的Notes。
如何配置LTS按需加载笔记?
设计器将生成EntitySet(Note)类型的属性,该属性将根据需要加载Notes。