Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.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
C# . 您应该始终为数据实现适当的包装器,以便对查询内容和方式进行适当的控制。这是控制性能的唯一方法。但是,如果您不需要自己访问道具,并且与结果相关的唯一内容是数据网格,那么您可以使用匿名类型并将结果作为非通用集合返回,我很确定DataGrid也可以绑定到它。_C#_Wpf_Entity Framework_Linq_Lazy Loading - Fatal编程技术网

C# . 您应该始终为数据实现适当的包装器,以便对查询内容和方式进行适当的控制。这是控制性能的唯一方法。但是,如果您不需要自己访问道具,并且与结果相关的唯一内容是数据网格,那么您可以使用匿名类型并将结果作为非通用集合返回,我很确定DataGrid也可以绑定到它。

C# . 您应该始终为数据实现适当的包装器,以便对查询内容和方式进行适当的控制。这是控制性能的唯一方法。但是,如果您不需要自己访问道具,并且与结果相关的唯一内容是数据网格,那么您可以使用匿名类型并将结果作为非通用集合返回,我很确定DataGrid也可以绑定到它。,c#,wpf,entity-framework,linq,lazy-loading,C#,Wpf,Entity Framework,Linq,Lazy Loading,. 您应该始终为数据实现适当的包装器,以便对查询内容和方式进行适当的控制。这是控制性能的唯一方法。但是,如果您不需要自己访问道具,并且与结果相关的唯一内容是数据网格,那么您可以使用匿名类型并将结果作为非通用集合返回,我很确定DataGrid也可以绑定到它。我尝试了一下,出现了一个异常:方法“Skip”只支持LINQ to实体中的排序输入。事实上,尽管它不是强制性的;我只是想指出,不应该返回无界结果集。如果您只想显示所有记录,您可以完全退出分页,或者默认情况下按主键排序(或者,实际上是您喜欢的任何


. 您应该始终为数据实现适当的包装器,以便对查询内容和方式进行适当的控制。这是控制性能的唯一方法。但是,如果您不需要自己访问道具,并且与结果相关的唯一内容是
数据网格
,那么您可以使用匿名类型并将结果作为非通用集合返回,我很确定
DataGrid
也可以绑定到它。我尝试了一下,出现了一个异常:方法“Skip”只支持LINQ to实体中的排序输入。事实上,尽管它不是强制性的;我只是想指出,不应该返回无界结果集。如果您只想显示所有记录,您可以完全退出分页,或者默认情况下按主键排序(或者,实际上是您喜欢的任何内容)。我在跳过之前添加了OrderBy,异常消失,但在查询行出现了另一个异常:“至少有一个参数未赋值”。如果我将“cli.Cards.Count”替换为0,异常将消失,我还没有找到解决方案
System.ObjectDisposedException
The ObjectContext instance has been disposed and can no longer be used for operations that require a connection.
public IEnumerable<Client> GetNonMaterialized()
{
    return from n in db.Clients select n;
}
public IEnumerable<Client> GetMaterialized()
{
    return (from n in db.Clients select n).ToList();
}
var client = db.Clients.FirstOrDefault(c=> c.Id = someid); //get a client
if (client != null)
{
    cardCount = client.Cards.Count;
}
using (var context = GetDbContext())
{
    return context.Clients.Select(cli => new YourViewModel
    {
        Name = cli.FullName,
        // Other prop setters go here
        CardCount = cli.Cards.Count
    }).Skip((page - 1) * pageSize).Take(pageSize).ToList();
}
using (var context = new MyContext()) 
{ 
     var client = context.Client.Find(clientId); 

     // Count how many cards the client has  
     var cardsCount = context.Entry(client) 
                      .Collection(b => b.Cards) 
                      .Query() 
                      .Count(); 
}