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
linq查询故障_Linq_Entity Framework 4 - Fatal编程技术网

linq查询故障

linq查询故障,linq,entity-framework-4,Linq,Entity Framework 4,下面是我尝试执行简单的Linq to entities框架查询的代码,我还希望逐个访问结果: inctDomainContext innn = new inctDomainContext(); var exx = from c in innn.cordonnes select c; foreach (var i in exx) { //doing something here but the programe doesn't enter the loop } 为什么程序没有进入fo

下面是我尝试执行简单的Linq to entities框架查询的代码,我还希望逐个访问结果:

inctDomainContext innn = new inctDomainContext();  
var exx = from c in innn.cordonnes select c;
foreach (var i in exx) {
    //doing something here but the programe doesn't enter the loop
}

为什么程序没有进入foreach循环?

你确定那里有数据吗

试试这个:

inctDomainContext innn = new inctDomainContext();  
bool exxAny = innn.cordonnes.Any();

然后,如果
exxAny
false
,则集合中没有数据,因此,
foreach
不会执行任何操作。

您似乎正在Silverlight中使用WCF Ria服务。这与直接使用EntityFramework时的工作方式完全不同。在您的情况下,您必须先“加载”数据,然后才能访问它

为此,您必须在域上下文上调用“Load”方法,并传入所需的查询(在您的示例中是
GetCoordonneQuery()
),然后可以传递一个回调,以便在Load异步调用完成时执行。回调将有权访问查询结果。下面是一个例子:

....
context.Load(GetCoordonneQuery(),OnLoadCoordonneCompleted,null)
....

void OnLoadCoordonneCompleted(LoadOperation<Coordonne> loadOp)
{
    foreach(var coordonne in loadOp.Entities)
    {
       //do something with the data
    }
}
。。。。
Load(GetCoordonneQuery(),OnLoadCoordonneCompleted,null)
....
void OnLoadCoordonneCompleted(加载操作加载操作)
{
foreach(loadOp.Entities中的var coordonne)
{
//对数据做点什么
}
}
调用
onLoadCoordonCompleted
时(即异步加载调用完成时),将加载context.Coordonnes并包含所需的数据


希望这有帮助

有例外吗?语法看起来不错。谢谢你的回答!是 啊里面有数据!我在innn.getcordonesquery()中使用:EntityQuery query query=from c来可视化它;essai_grid.ItemsSource=innn.cordonnes;内载(quer);事实上尝试时//bool exxAny=innn.cordonnes.Any();我对exxAny有错误的价值!所以innn.cordonnes没有数据!但是当我使用//EntityQuery query=from c innn.getCordonesQuery()时,请选择c。它返回数据,我可以在数据网格中可视化它。那么问题是什么呢?