我發現了一些關於此的帖子,但似乎找不到與我的代碼有關的帖子。在Azure SQL而不是SQL Server 2014上打開DataReader錯誤
下面的行被突出顯示與該錯誤:
Line 74: <td>
Line 75: @Html.DisplayFor(modelItem => item.Equipment.ModelName)
Line 76: </td>
渲染數據的視圖的部分看起來像這樣:
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Location)
</td>
<td>
@Html.DisplayFor(modelItem => item.Position)
</td>
<td>
@Html.DisplayFor(modelItem => item.Description)
</td>
<td>
@Html.DisplayFor(modelItem => item.SerialNo)
</td>
<td>
@Html.DisplayFor(modelItem => item.InstallDate)
</td>
<td>
@Html.DisplayFor(modelItem => item.ServiceFrequency) Months
</td>
<td>
@Html.DisplayFor(modelItem => item.NextServiceDate)
</td>
<td>
@Html.DisplayFor(modelItem => item.Equipment.ModelName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Owner.OwnerName)
</td>
<td>
@Html.DisplayFor(modelItem => item.ServiceCompany.CompanyName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Site.SiteName)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.AssetID })
@Html.ActionLink("Details", "Details", new { id=item.AssetID })
@Html.ActionLink("Delete", "Delete", new { id=item.AssetID })
</td>
</tr>
控制器是這樣的:
public ActionResult Index()
{
var userId = User.Identity.GetUserId();
var asset = from a in db.Assets
join o in db.Owners on a.OwnerID equals o.OwnerID into oa
from asst in oa.DefaultIfEmpty()
join s in db.ServiceCompanies on a.ServiceCompanyID equals s.ServiceCompanyID into sa
from service in sa.DefaultIfEmpty()
where asst.RegUserID == userId || service.RegUserID == userId
select a;
return View(asset);
}
我的理解我試圖連接到數據庫兩次,但我無法看到哪裏,我也d在我的筆記本電腦上不會出現這個錯誤。我覺得這可能是SQL Server 2014中沒有的Azure SQL數據庫中沒有的東西。
有什麼想法嗎?
UPDATE ::::
我已經加入MultipleActiveResultSets = true來連接字符串停止了問題但我不知道這是否掩蓋一個需要解決的問題或可能引入其他問題。
感謝您的提示。我會看看。 – Spionred