实体框架和 EntityDataSource 的问题

发布于 2025-01-03 23:50:31 字数 603 浏览 0 评论 0原文

我有一个简单的场景:

  • 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

剩一世无双 2025-01-10 23:50:31

我使用 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 the DbContext-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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文