c# Linq-to-SQL在Ado.net插入后没有更新
本文关键字:更新 插入 net Linq-to-SQL Ado | 更新日期: 2023-09-27 18:02:26
我创建了一个1:我通过ADO.net创建的许多关系和批量插入没有传播到我的LINQ-to-SQL数据上下文。
。
TABLE School
int schoolId
int maxStudents
...
TABLE Students
int studentId
int schoolId
DateTime birthdate
...
如果我批量添加500个学生到Students
表,我的数据上下文不会更新. students。它只是说。students . count () == 0
编辑下面是一个例子:
// Create a Repository
Repository Repo = new Repository();
string[] schoolNames = GetSchoolNames();
// Pull in the schools.
IEnumerable<School> schools = Repo.GetSchools(schoolNames);
foreach (School school in schools) school.DoSomeDirectDBWork();
schoolNames = schools.Select(school => school.name).ToArray();
Repo.Dispose(); // Flush/Close/Dispose
Repo = new Repository(); // New repository, new data context.
schools = Repo.GetSchools(schoolNames);
// ** THE SCHOOLS HAVE NO STUDENTS AT THIS POINT IN THE CODE.
// ** <SAD FACE>
我想知道这是否只是缓存。如果您强制它加载一组未过滤的学生,那么当然—它可能会信任该设置(在加载点为空)。DataContext旨在是短暂的;尝试在插入后创建一个新的,然后重试。如果这还没有读取空表,它应该找到你的数据。
另外,检查您没有两个student表—例如dbo。学生vs蓝色夏季学生。