2014-04-29 71 views
0

我對鏈接和實體框架相當陌生。顯然其他人也有同樣的問題我有,並有問題here這些都在理論上都有道理的優秀解釋。然而,我似乎無法得到正確的語法來解決我的問題,我也不明白它足以決定什麼是最好的選擇。有問題的代碼是:已經有一個與此命令關聯的開放DataReader

public void ClearAllFilesFromUser(Guid userID) 
{ 
    using (DBEntities db= new DBEntities()) 
    { 
     var filez = (from p in db.Files select p); 
     aspnet_Users user = (from p in db.aspnet_Users 
          where p.UserId == userID 
          select p).First(); 

     foreach (var file in filez) 
     { 
      if (file.aspnet_Users.Contains(user)) 
      { 
       file.aspnet_Users.Remove(user); 
      } 
     } 
     db.SaveChanges(); 
    } 
} 

該代碼在if (file.aspnet_Users.Contains(user))處產生錯誤。我正嘗試從特定用戶的數據庫中的聯結表中刪除所有條目。不確定需要哪些其他信息。請提前告知和感謝。

回答

0

您需要將MultipleActiveResultSets=true;添加到連接字符串中。

<connectionStrings> 
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-Elazig-20140311114227;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-Elazig-20140311114227.mdf;MultipleActiveResultSets=true;" providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

就像這樣。

相關問題