Asp.net LINQ to SQL不会检索存储在数据库中的最新(更新)版本
当使用linqdatasource更新我的sqlexpress数据库时,所有内容都显示正常,但当我尝试使用以下方法手动检索内容时:Asp.net LINQ to SQL不会检索存储在数据库中的最新(更新)版本,asp.net,database,linq-to-sql,sql-server-express,updates,Asp.net,Database,Linq To Sql,Sql Server Express,Updates,当使用linqdatasource更新我的sqlexpress数据库时,所有内容都显示正常,但当我尝试使用以下方法手动检索内容时: public static IQueryable<MarkingScheme> listMarkingSchemes(string moduleID, string academicYear) { return from m in feedbackDB.MarkingSchemes where m.moduleID
public static IQueryable<MarkingScheme> listMarkingSchemes(string moduleID, string academicYear)
{
return
from m in feedbackDB.MarkingSchemes
where m.moduleID == moduleID && m.academicYear == academicYear
orderby m.schemeID descending
select m;
}
我得到了更新版本!!!
有没有人知道为什么会发生这种情况,以及我在进行手动查询时如何始终获取最新版本的数据?我尝试将dataclasses.dbml文件中的“update check”选项设置为“始终”和“WhenChanged”,但似乎不起作用…我终于让它起作用了,我必须手动将datacontext中所有受影响的列的自动同步方法设置为“始终”
再次感谢@Josh的帮助,非常感谢 我终于让它工作了,我必须手动将datacontext中所有受影响的列的自动同步方法设置为“始终”
再次感谢@Josh的帮助,非常感谢 提交更改是否在每个路径中都被调用?LINQ从DataContext对象的缓存中传递行。因此,如果在发生更改的每个场景中都没有调用SubmitChanges,那么您将获得原始数据,而不是预期的修改数据。内容是通过linqdatasource更新的,所以我假设是这样的!选择性查询“select new{m.schemeID,m.assignmentName}”看到了更新,而仅仅使用“select m”并没有看到更新,这不是很奇怪吗?更新的内容似乎在一段时间后,或者在我更新datacontext时显示出来。。。但是“延迟加载”选项设置为false…嗯…我想知道这是否是一个延迟加载问题?如果您列出第一个方法的结果,它是否显示了更改?我曾尝试将其作为数组()返回,现在尝试作为列表()返回,但仍然没有获得更新的内容。是否在每个路径中都调用SubmitChanges?LINQ从DataContext对象的缓存中传递行。因此,如果在发生更改的每个场景中都没有调用SubmitChanges,那么您将获得原始数据,而不是预期的修改数据。内容是通过linqdatasource更新的,所以我假设是这样的!选择性查询“select new{m.schemeID,m.assignmentName}”看到了更新,而仅仅使用“select m”并没有看到更新,这不是很奇怪吗?更新的内容似乎在一段时间后,或者在我更新datacontext时显示出来。。。但是“延迟加载”选项设置为false…嗯…我想知道这是否是一个延迟加载问题?如果您列出第一个方法的结果,它是否显示了更改?我曾尝试将其作为Array()返回,现在尝试将其作为List()返回,但仍无法获取更新的内容。。
public static IQueryable listNames(string moduleID, string academicYear)
{
return
from m in feedbackDB.MarkingSchemes
where m.moduleID == moduleID && m.academicYear == academicYear
orderby m.schemeID descending
select new { m.schemeID, m.assignmentName };
}