0

我将创建一个由 2 个模块组成的应用程序。

  • 服务器端基于asp mvc 3 服务。这应该将来自 sql server 数据库的数据提供给一堆 WP7 客户端。
  • WP7 客户端。这个应该从服务器检索数据并将其存储在本地数据库中。

我想这两个应用程序只有一组模型是个好主意,我想使用实体框架。

我正在考虑以下方法:

将这两个项目放在一个解决方案上。在服务器端应用程序中生成实体框架模型,形成一个 sql server 数据库。在两个应用程序中使用它们。

服务器上的服务应该使用模型来检索数据,然后将它们作为 oData xml 返回。WP7 应用程序应获取此 oData xml 并使用相同的模型将其存储在本地数据库中。

我以前从未做过类似的事情,所以我不确定这是否是一个好方法。它会起作用吗?任何评论表示赞赏。

编辑

我已经有一个工作服务返回数据。我还创建了一个获取数据的测试 SL 应用程序。我使用服务器应用程序中的实体框架模型。下一步是创建一个 WP7 应用程序,将数据抓取到实体框架模型(与我之前提到的 SL 应用程序中的方式相同)。

在这里,您可以看到我如何通过服务创建读取上下文:

svc = new BlogContext(new Uri("/BlogService.svc", UriKind.Relative));
var q = svc.Blogs;

但是还有一个问题不知道怎么解决。如何创建上下文以写入 WP7 本地数据库?

4

2 回答 2

0

是的,它可以工作;我在我的一个应用程序中做着非常相似的事情(尽管将 oData 换成了 JSON/OAuth API)

于 2012-06-21T19:23:25.953 回答
0

您可能希望使用Project Linker之类的东西来获得多目标解决方案,因为库在 Silverlight (WP7) 和服务器 (.NET) 之间是不可共享的。

坚持 POCO 类,并专门使用 EF POCO 类模板。仅在服务器上使用 EF 模型本身。我认为您不能在 Silverlight 中使用 DataAnnotations,因此您可能需要自己进行验证。

于 2012-06-21T19:52:21.847 回答