我在阅读过程中有时会收到上述错误。每当您在调用 Read() 方法之前尝试读取数据时,该异常就源自 ASP.NET SqlDataReader。由于 EF 在内部执行所有这些操作,我想知道还有什么可能导致此错误。可能是网络(或)数据库连接吗?
谢谢
额外的赏金信息(GenericTypeTea):
升级到 EF Code First RC (4.1) 后我遇到了同样的错误:
“不存在数据时尝试读取无效”
这是有问题的代码:
using (var context = GetContext())
{
var query = from item in context.Preferences
where item.UserName == userName
where item.PrefName == "TreeState"
select item;
// Error on this line
Preference entity = query.FirstOrDefault();
return entity == null ? null : entity.Value;
}
表结构如下:
Preference
{
Username [varchar(50)]
PrefName [varchar(50)]
Value [varchar(max)] Nullable
}
该表是独立的,没有任何关系。这是 DbModelBuilder 代码:
private void ConfigurePreference(DbModelBuilder builder)
{
builder.Entity<Preference>().HasKey(x => new { x.UserName, x.PrefName });
builder.Entity<Preference>().ToTable("RP_Preference");
}
完全相同的代码在 CTP5 中完美运行。我猜这是一个 RC 错误,但任何关于如何修复它的想法都将不胜感激。