我正在尝试EF CodeFirst CTP 5,并将其与WCF数据服务一起使用。我收到Internal Server Error. The type 'System.Data.Entity.DynamicProxies.Person_C321D7A37002A1B42C3CBAECC27983D77F6B7FCC3F837175B2CBB55CCA66AF55' is not a complex type or an entity type.
如果我在CF创建的数据库中使用edmx生成的Person,我没有问题。在阅读中,似乎延迟加载会使事情搞砸,而以前的EF版本让我通过DbContext中不存在的选项标志来关闭代理生成。有一种方法可以将LazyLoading设置为false,但这显然不会关闭代理生成。
感谢。
答案 0 :(得分:4)
以下是您在EF代码中首先使用CTP5执行的操作:
((IObjectContextAdapter)context).ObjectContext.ContextOptions.ProxyCreationEnabled = false;
或者,这是VS 2010 RTM中WCF数据服务中的错误。您可以使用已修复this issue的WCF数据服务的CTP1。
希望这有帮助。
由于
PRATIK
答案 1 :(得分:0)
在CTP1中,二进制文件已重命名为Microsoft.Data.Services。*。dll。您是否更改了对新程序集的引用?我很确定这个问题已在CTP1中修复。所以只是想确保它适合你。
由于 PRATIK
答案 2 :(得分:0)
如果您正在使用新的DbContext类,那么您可以使用
Configuration.ProxyCreation = false
禁用动态代理创建