Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL中的数据不会使用传统SQL语法与LINQDataContext同步_Sql_Linq - Fatal编程技术网

SQL中的数据不会使用传统SQL语法与LINQDataContext同步

SQL中的数据不会使用传统SQL语法与LINQDataContext同步,sql,linq,Sql,Linq,我在我的应用程序中使用linq to sql执行选择,并通过传统sql语法执行其他操作(插入、更新、删除) 但是,当我插入或删除某些内容时,我的datacontext不会更新。因此,如果搜索所选对象的ID,将返回一个空查询。我检查了数据库,我确信sql语法工作正常 简而言之,当我使用sql语法处理数据库时,它会更改我的数据库,但不会更改DataContext实例 您正在保存数据吗?例如,调用Context.SaveChanges()或任何等效的调用?链接到SQL DataContext的链接都有

我在我的应用程序中使用linq to sql执行选择,并通过传统sql语法执行其他操作(插入、更新、删除)

但是,当我插入或删除某些内容时,我的datacontext不会更新。因此,如果搜索所选对象的ID,将返回一个空查询。我检查了数据库,我确信sql语法工作正常


简而言之,当我使用sql语法处理数据库时,它会更改我的数据库,但不会更改DataContext实例

您正在保存数据吗?例如,调用
Context.SaveChanges()
或任何等效的调用?

链接到SQL DataContext的链接都有一个缓存系统。查看DataContext.Refresh方法组以获取刷新实体的方法。另一个简单的解决方案是在执行一些原始SQL之后重新关联DataContext。

如果您想使用Linq to SQL,您应该使用它来执行所有操作,这意味着如果您仍然要执行一些原始SQL,您应该使用Linq to SQL语法,如果您的数据库链接不更新的话。 因此,我完全将Linq转换为Sql。 谢谢大家


有用信息:

你能提供一些代码吗?您确定需要原始SQL来执行请求的任务吗?我尝试了此操作,但无效:db.Refresh(RefreshMode.OverwriteCurrentValues,db.tbl_);db是我的DataContext变量。这就是你所说的刷新吗?我尝试了这个方法来保存数据,但没有成功:(db.SubmitChanges();db是我的DataContext变量。