我正在使用 sql 数据库制作应用程序,
我得到这样的数据:
var vAll= from a in vPRCEntities.tblProducts
select a;
那么哪个变量是'vAll'?,因为我想在方法中使用它:
private void vGet( ?? vAll)
{
}
我认为答案太微不足道了。此外,真正的功劳归功于指出缺失部分的查理。无论如何它是
尝试:
private void vGet(IEnumerable<Product> vAll)
必须在哪里Product
输入tblProducts
:)
您可以按照建议使用它:
private void vGet(IEnumerable<Product> vAll){ }
请记住,Linq 使用延迟执行,这意味着在您从集合中读取之前,查询不会真正执行。没关系,但是如果您在应用程序的不同部分阅读该集合,您可能会遇到问题。例如,连接可能会在您有机会获取数据之前关闭。
为了避免这种情况,你可以尝试这样的事情:
var vAll = (from a in vPRCEntities.tblProducts select a).ToList<Product>();
这会强制立即读取集合并将其放入 List<> 对象中。然后你可以这样写你的方法:
private void vGet(List<Product> vAll){ } //IEnumerable will also work
延迟执行不再起作用,因为集合已被读取并放入列表中。
注意:如果数据量非常大,那么所有这些数据都将在列表中的内存中,这可能不是一个好的解决方案。像大多数事情一样 - 这取决于。