Asp.net 如果发生插入,实体框架选择查询将不会返回

Asp.net 如果发生插入,实体框架选择查询将不会返回,asp.net,sql-server,asp.net-mvc,entity-framework,Asp.net,Sql Server,Asp.net Mvc,Entity Framework,我在理解我遇到的问题时遇到了问题。目前,我正在创建一个ASP.NETMVC网站,该网站从MSSQL数据库中获取信息。这似乎有点起作用了 如果没有INSERT语句,则会将信息添加到数据库中。然后一切顺利。信息量大,一切正常 如果有运行插入50000+条记录的插入查询。然后,我的ASP.net应用程序在加载信息时总是出现问题。即使插入查询是在完全独立的服务器上启动的 我只是想知道是否有某种方法可以用来使用asp.net获取信息。好像我只是通过python从我的角色机器运行一个查询。它也很好用 在使用

我在理解我遇到的问题时遇到了问题。目前,我正在创建一个ASP.NETMVC网站,该网站从MSSQL数据库中获取信息。这似乎有点起作用了

如果没有INSERT语句,则会将信息添加到数据库中。然后一切顺利。信息量大,一切正常

如果有运行插入50000+条记录的插入查询。然后,我的ASP.net应用程序在加载信息时总是出现问题。即使插入查询是在完全独立的服务器上启动的

我只是想知道是否有某种方法可以用来使用asp.net获取信息。好像我只是通过python从我的角色机器运行一个查询。它也很好用

在使用MVC进行实体框架和查询数据库时,是否有特别的注意事项

我正在使用实体框架并调用sotred过程

public List<VulnOverview_Result> getVulnOverview(string theDate, string theSite)
        {
            var vulnOverview = new List<VulnOverview_Result>();
            if(theDate == null)
                vulnOverview = entities.VulnOverview(null, theSite).ToList();
            else
                vulnOverview = entities.VulnOverview(Convert.ToDateTime(theDate), theSite).ToList();
            return vulnOverview;
        }
public List getVulnOverview(字符串日期,字符串站点)
{
var vulnOverview=新列表();
if(theDate==null)
vulnOverview=entities.vulnOverview(null,theSite.ToList();
其他的
vulnOverview=entities.vulnOverview(Convert.ToDateTime(theDate),theSite.ToList();
返回vulnOverview;
}

您可能正遭受锁的困扰。启用RCSI(读取提交的快照隔离),这将解决问题

在SQL Server中使用以下说明:

ALTER DATABASE MyDB SET READ_COMMITTED_SNAPSHOT ON
GO

但是,您只能返回已提交的记录。

ASP.NET MVC不是一种数据访问技术。你用了什么?ADO.NET?实体框架?LINQ到SQL?还有别的吗?发布您的代码您可以允许在应用程序中进行脏读。否则,您的查询需要处理部分插入的数据。等待插入完成是一种常见的方法。@PanagiotisKanavos我正在使用实体框架,我发布了代码。它使用的是存储过程。@GordonLinoff我将研究Moement,我将尝试一下。听起来很有希望。正是我需要的。