实体框架和 EntityDataSource 的问题
我有一个简单的场景:
- Web 项目(C#),添加了对下面数据源项目的 dll 引用。
- 单独的数据源项目(类库),我在其中添加了 edmx 文件并使用 DbContext Generator 生成 POCO。
真的,没什么特别的。我认为我在实体框架上看到的每个 YouTube 教学视频都在做一些简单的事情。
我发现 EntityDataSource 根本不起作用。我收到一系列错误消息,但当它们出现时我真的看不到模式:
这里有一些:
- 无法加载指定的元数据源
- 架构无效且无法加载类型,因为程序集包含 EdmSchemaAttribute...不允许按名称和属性加载。
几次,不知道如何,我设法通过了这个错误,在这种情况下,当我尝试使用数据源和 gridview 执行简单页面时(没有任何编码),我会收到 CLR 错误
结束添加到问题... 我以同样的方式引用另一个数据源项目。我完全能够设置此 EntityDataSource 而不会出现上述错误。但是,当我单击“刷新架构”时,出现错误“无法找到 MyEntity 的 CLR 类型。
这里出了什么问题。
谢谢
I have simple scenario:
- Web Project(C#) with added dll reference to below DataSource project.
- Separate DataSource project (Class Library) where I added edmx file and generated POCOs with DbContext Generator.
Really, nothing special. I think every youtube instructional video I saw on Entity Framework is doing something simple.
What I discovered is that EntityDataSource simply doesn't work. I get range of error messages and I really can't see the pattern when they are showing up:
Here are some:
- Unable to load the specified metadata source
- Schema invalid and types cannot be loaded because the assembly contains EdmSchemaAttribute... loading by both name and attribute is not allowed.
Few time, don't know how, I managed to pass by this error, in that case I would get CLR error when I try to execute simple page with datasource and gridview (nothing was coded)
End to add to the problem...
I am referencing another DataSource project the same way. I am perfectly able to set this EntityDataSource without errors above. But when I click Refresh Schema, I get error "Could not find the CLR type for MyEntity.
What is wrong here.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我使用 EF 5.0 和 WCF 数据服务 5.2.0 收到 EdmSchemaAttribute 错误消息。这是使用
DbContext
派生类的数据服务,但DbContext
派生类与某些 EDMX 文件和从 EDMX 生成的基于 ObjectContext 的代码位于同一程序集中文件。对我来说,解决方法是将代码优先的 EF 代码与模型优先的 EF 代码分开(它使用 ObjectContext 并生成带有
[EdmSchema]
属性的代码)。通过将代码优先的代码移至单独的程序集中,错误消息消失了,一切正常了。我希望这有帮助。
I was getting the EdmSchemaAttribute error message, using EF 5.0 and WCF Data Services 5.2.0. This was a data service using a
DbContext
-derived class, but theDbContext
-derived class was in the same assembly as some EDMX files and ObjectContext-based code generated from the EDMX files.The fix for me was to separate code-first EF code from model-first EF code (which uses ObjectContext and generates code with the
[EdmSchema]
attribute). By moving the code-first code into a separate assembly, the error message went away and things are working.I hope that helps.