我有一个 .NET 服务(使用 Entity Framework 6.0.0-rc-1)
public class MyController : ApiController
{
protected DbConnection _connection = new DbConnection();
public HttpResponseMessage MyProcedure1()
{
...
var dayPlans = _connection.DayPlans
.Where(dp => dp.period >= start && dp.period < end);
if (dayPlans.Count() > 0)
{
//success
}
else
{
//fail
}
...
}
public HttpResponseMessage MyProcedure2()
{
...
var dayPlans = _connection.DayPlans
.Where(dp => dp.period >= start && dp.period < end);
if (dayPlans.Count() > 0)
{
//success
}
else
{
//fail
}
...
}
}
客户端同时使用这些程序。事情是有时 dayPlans.Count() 等于零,而它不应该。我已经仔细检查了过滤参数和数据库内容,必须从 db 中选择的记录很少,但它们不是。
另一个重要的时刻是当一种方法中的 LINQ 请求失败时,它总是在另一种方法中失败。但是当这些过程被一个接一个地调用时,它们可能会在所有可能的变体中失败——第一个请求失败,第二个成功;第一次失败第二次失败;等等
可能是什么问题?