WCF +实体框架 CodeFirst = DynamicProxies 异常?
我正在尝试 EF CodeFirst CTP 5,并将其与 WCF 数据服务一起使用。我收到一个错误,内部服务器错误。类型“System.Data.Entity.DynamicProxies.Person_C321D7A37002A1B42C3CBAECC27983D77F6B7FCC3F837175B2CBB55CCA66AF55”不是复杂类型或实体类型。
如果我在 CF 创建的数据库之外使用 edmx 生成的 Person,则没有问题。在阅读过程中,似乎延迟加载把事情搞砸了,以前的 EF 版本让我使用 DbContext 中不存在的选项标志关闭代理生成。有一种方法可以将 LazyLoading 设置为 false,但这显然不会关闭代理生成。
谢谢。
I'm trying out EF CodeFirst CTP 5, and using it with WCF Data Services. I'm getting an error that Internal Server Error. The type 'System.Data.Entity.DynamicProxies.Person_C321D7A37002A1B42C3CBAECC27983D77F6B7FCC3F837175B2CBB55CCA66AF55' is not a complex type or an entity type.
If I use an edmx-generated Person off the db created by CF, I have no issue. In reading up, it seems that the lazy loading is screwing things up, and previous EF versions have let me turn off proxy generation with an option flag that's not present in the DbContext. There is a way to set up LazyLoading to false, but that doesn't apparently turn off proxy generation.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
以下是您可以在 EF 代码优先 CTP5 中执行的操作:
或者,这是 VS 2010 RTM 中的 WCF 数据服务中的错误。您可以使用具有 此问题已修复。
希望这有帮助。
谢谢
普拉蒂克
Here's what you can do in EF code first CTP5:
Alternatively, this is a bug in WCF data services in VS 2010 RTM. You can used the CTP1 of WCF Data Services that has this issue fixed.
Hope this helps.
Thanks
Pratik
在 CTP1 中,二进制文件已重命名为 Microsoft.Data.Services.*.dll。您是否更改了对新程序集的引用?我非常确定这个问题已在 CTP1 中得到解决。所以只是想确保它对你有用。
谢谢
普拉蒂克
In CTP1, the binaries have been renamed to Microsoft.Data.Services.*.dll. Did you change the references to the new assemblies? I am pretty sure that this issue was fixed in CTP1. So just wanted to make sure it worked for you.
Thanks
Pratik
如果您使用新的 DbContext 类,那么您可以使用
禁用动态代理创建
If you are using the new DbContext class, then you can make use of
To disable the dynamic proxy creation