我可以将 RIA 服务与 Entity Framework 4.3 一起使用吗?

发布于 2025-01-05 20:05:16 字数 396 浏览 2 评论 0原文

这是我的设置: MVC应用程序 使用实体框架 Code First 的具有数据访问层的域模型 Silverlight 应用程序(显示在 MVC 应用程序中)

我正在使用 RIA 服务使 Silverlight 应用程序与数据库交互。

Ria 服务目前仅支持实体框架 4.1。当前版本是 4.3。仅仅因为 Silverlight 应用程序的 Ria 服务,不获得 EF 的新功能(例如迁移和希望将来的枚举支持)似乎是一种浪费。

因此,我的问题是:

  1. 首先使用 EF 代码时依赖 Ria 服务是否合理(即它们总是落后这么多?这可能是以后的问题吗?
  2. ) Silverlight 应用程序不太依赖于我使用的 ORM 版本的替代解决方案?

This is my setup:
MVC app
A domain model with a data access layer using Enitity Framework Code First
Silverlight application (displayed in the MVC App)

I'm using RIA Service to make the Silverlight App interact with the DB.

Ria services only supports entity framework 4.1 as of now. Current release is 4.3. Seems to be a waste to not get the new features of EF (like migrations and hopefully enum support in the future) just becouse of the Ria service for the Silverlight app.

My question is therefore:

  1. Is it reasonable to rely on the Ria Service when using EF code first (i.e. will they always lag behind by so much? Could this be a problem down the road?)
  2. Do you have an alternative solution where the Silverlight app is not so dependent on what version of the ORM i use?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(3

微暖i 2025-01-12 20:05:16

RIA 服务可以与 NHibernate 或任何其他 ORM 或对象/域模型一起使用。只有某些 VS 向导暗示 EF 和 RIA 服务之间存在耦合,但您显然不需要使用这些向导,EF 和 RIA 服务之间也不存在耦合。

“我可以将 RIA 服务与 Entity Framework 4.3 一起使用吗?”问题的答案是绝对是的。

OData 是 RIA 服务的替代方案,但它有相当多的限制,并且无意作为直接竞争对手。 WCF 也是一种替代方案。

RIA Services can be used with NHibernate or any other ORM or object/domain model. Only some of the VS Wizards imply there is coupling between EF and RIA Services, but you clearly aren't required to use those wizards nor is there a coupling between EF and RIA Services.

The answer to the question "Can I use RIA Services with Entity Framework 4.3?" is absolutely yes.

OData is an alternative to RIA Services, but it has quite a few limitations and is not intended as a direct competitor. WCF is also an alternative.

败给现实 2025-01-12 20:05:16

在 RIA 服务正确支持 EF4.3 之前进行迁移的解决方法也可以是创建一个专门用于迁移的项目,其本质类似于 Visual Studio Ultimate 中的数据库项目。

该模型需要通过“添加为链接”包含在这样的项目中,并且您需要确保它可以在两个项目中进行编译。例如,您可能需要定义一些在 RIA-Services 中定义的虚拟属性(“Include”就是其中之一)。

这并不理想,但在某些情况下可能是最好的选择。

A workaround for getting migrations before RIA services properly supports EF4.3 could also be to create a project solely for migrations, similar in spirit to the database projects in Visual Studio Ultimate.

The model would need to be included by such a project via "add as link" and you'd need to make sure that it can compile in both projects. For example, you might need to define some dummy attribute that are defined in RIA-Services ("Include" would be one).

It's not ideal but maybe it's the best option in some cases.

浅听莫相离 2025-01-12 20:05:16

要获得版本锁定的临时解决方法< 4.2 的 RiaServices.EntityFramework NuGet 包,我使用了 NuGet Package Explorer 来更改元数据包并删除了约束。

请记住,您必须添加本地缓存作为 NuGet 源

工具->选项->包管理器->包来源->添加(C:/Users/%用户名%/Appdata/Local/Nuget/Cache)

To get a temporary workaround for the lock of version < 4.2 of the RiaServices.EntityFramework NuGet package, I've used the NuGet Package Explorer in order to change the metadata of the package and removed the constraint.

Remeber you must add the local cache as NuGet source.

Tools -> Options -> Package Manager -> Package Sources -> Add (C:/Users/%username%/Appdata/Local/Nuget/Cache)

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