繁体   English   中英

我可以在实体框架4.3中使用RIA服务吗?

[英]Can I use RIA Services with Entity Framework 4.3?

这是我的设置:MVC应用程序使用Enitity Framework Code First Silverlight应用程序的数据访问层的域模型(显示在MVC应用程序中)

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

Ria服务目前仅支持实体框架4.1。 目前的版本是4.3。 由于Silverlight应用程序的Ria服务,似乎是浪费而无法获得EF的新功能(如迁移和希望将来支持enum)。

我的问题是:

  1. 在首先使用EF代码时依赖Ria服务是否合理(即它们总是会落后于这么多吗?这可能会成为一个问题吗?)
  2. 您是否有另一种解决方案,Silverlight应用程序不依赖于我使用的ORM版本?

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

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

OData是RIA服务的替代品,但它有很多限制,并不打算作为直接竞争对手。 WCF也是另一种选择。

在RIA服务正确支持EF4.3之前获得迁移的解决方法也可以是创建仅用于迁移的项目,与Visual Studio Ultimate中的数据库项目类似。

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

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

为了获得RiaServices.EntityFramework NuGet包的版本<4.2的锁的临时解决方法,我使用了NuGet包资源管理器来更改包的元数据并删除了约束。

记住你必须将本地缓存添加为NuGet源

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM