听起来很蠢,但我想做一些不同寻常的事......
基本上我正在寻找构建在后端具有wcf数据服务的解决方案(至少是类似的东西),它允许我使用简单的url语法查询我的数据库。
我遇到的问题是,当我的数据库架构发生变化时,我必须重新整理整个后端,这并不好,因为我正在构建的解决方案可以说“实体”的定义。
基本上我想做的是每次db更新时都要更新模型......作为一种触发事件。
我认为EF不会这样做,这导致我的实际问题......
你会如何解决这个问题?
我完全需要wcf数据服务开箱即用的功能......只需在其下方提供更具动态性的数据模型。
答案 0 :(得分:2)
您需要将O / RM更改为更动态的内容......可以使用类似Massive的内容而不是EF。
有人看起来与WebWCF类似...... Massive with WCF Web Api to return dynamic types/Expandos?。
如果您使用数据服务,那么您需要找出一些方法将Massive表示为'DataContext'。另一方面,WebWCF会将动态对象序列化为需要的JSON或XML块。
您提出的方法存在的问题是Web服务合同是动态的而不是版本化的。这意味着,如果删除/重命名/更改字段,则基本上已创建对客户用于使用Web服务的“合同”的更改。这可能导致客户违反,除非同时更新。
如果您正在寻找管理模型更改更新数据库的低摩擦方式,我发现EF Code First 4.2和EF Migrations对我来说效果很好。 0.7.0.1相当稳定,可从NuGet获得。