[英]how to close command connection with LINQ / EF
使用 Azure 和 EF 我收到錯誤消息:
DataReader associated with this Command which must be closed first.
這是因為我的查詢是嵌套的:
foreach (Element s in ElementSet.All()) {
if (somecondition) {
ElementSet.Add()
}
}
如何從 ElementSet 加載所有元素並在使用 foreach 循環遍歷它們之前關閉連接?
PS:顯然對於 SQL azure 我無法在連接字符串中設置 MARS,這會使服務器接受多個連接。
MARS 不會使用多個連接,但它允許通過單個連接進行多個並發操作。 MARS 最近被添加到 SQL Azure所以你一定要打開它。
如果要強制 EF 立即加載所有實體,請在查詢中調用ToList
。
foreach (Element s in ElementSet.All().ToList()) {
if (somecondition) {
ElementSet.Add()
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.