小编Sar*_*nan的帖子

'当没有数据存在时读取无效' - 实体框架中"有时"发生异常

在阅读过程中,我有时会收到上述错误.每当您在调用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;
}
Run Code Online (Sandbox Code Playgroud)

表结构如下:

Preference
{
    Username [varchar(50)]
    PrefName [varchar(50)]
    Value [varchar(max)] Nullable
}
Run Code Online (Sandbox Code Playgroud)

该表是独立的,没有任何关系.这是DbModelBuilder代码:

private void ConfigurePreference(DbModelBuilder builder)
{
    builder.Entity<Preference>().HasKey(x => new { x.UserName, x.PrefName });
    builder.Entity<Preference>().ToTable("RP_Preference");
}
Run Code Online (Sandbox Code Playgroud)

完全相同的代码在CTP5中完美运行.我猜这是一个RC错误,但任何想法如何修复它将不胜感激.

sql-server entity-framework entity-framework-4.1

7
推荐指数
1
解决办法
1363
查看次数