【发布时间】:2014-07-03 22:20:20
【问题描述】:
我们在 MS SQL Server 中使用 EF5.0 和代码优先方法 我读过一篇文章 http://msdn.microsoft.com/en-us/data/jj691402.aspx
并决定在我们的数据库上尝试相同的方法
但是,假设我的 stores 过程包含这样的查询
SELECT * from [dbo].[MyEntities] as MyEntity
where ID = @ID
C# 中的代码是
var entities = Context.ObjectContext.Translate<MyEntity>(reader, "MyEntity", MergeOption.AppendOnly);
我已经明白了
“System.InvalidOperationException”类型的异常发生在 System.Data.Entity.dll 但未在用户代码中处理
附加信息:EntitySet 名称“MyDbContext.MyEntity” 找不到。
因此,显然它添加了一些上下文名称作为 EntitySet 名称的前缀,而不是 MyEntity 在结果集中寻找 MyDbContext.MyEntity。
是什么导致了这种行为以及是否有任何解决方法(因为在我上面引用的示例中,它看起来非常简洁和简单,并且不需要特定的操作,除了调用 db.Database.Initialize(force: false); (我这样做在我的代码中也是如此)
【问题讨论】:
标签: c# sql-server entity-framework stored-procedures