我收到此错误,我不知道在使用EntityConnection时如何解决。当使用ObjectContext时,我可以设置属性DefaultContainerName
并且它可以工作,但现在我不知道是什么导致了问题以及如何解决它。任何帮助表示赞赏。
完整错误如下所示 - >
EntityFramework.dll中出现'System.Data.Entity.Core.EntitySqlException'类型的异常,但未在用户代码中处理
其他信息:无法在当前范围或上下文中解析“动物”。确保所有引用的变量都在范围内,加载了所需的模式,并正确引用了名称空间。近简单标识符,第1行,第21列。
我的代码看起来像这样,当命中cmd.ExecuteReader() - >
时抛出异常using (EntityConnection conn = new EntityConnection("name=dbEntities"))
{
using (EntityCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT VALUE a FROM Animals AS a";
conn.Open();
using (EntityDataReader reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess | CommandBehavior.CloseConnection))
{
while (reader.Read())
{
// code
}
}
}
}
该示例来自此链接 - > http://www.entityframeworktutorial.net/Querying-with-EDM.aspx
EDIT。我使用版本6
public partial class dbEntities : DbContext
{
public dbEntities()
: base("name=dbEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<Names> Names { get; set; }
public virtual DbSet<Animals> Animals { get; set; }
}
答案 0 :(得分:0)
DbContext
名称。您必须使用dbEntities.Animals
而不是Animals
。最后,您的命令文本应如下所示:
SELECT VALUE a FROM dbEntities.Animals AS a