ASP MVC 3服务器端WP7客户端应用程序

时间:2012-06-21 18:28:05

标签: c# asp.net-mvc wcf windows-phone-7

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

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

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

我正在考虑以下方法:

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

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

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

修改

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

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

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

但仍有一个问题,我不知道如何解决。如何创建写入WP7本地数据库的上下文?

2 个答案:

答案 0 :(得分:0)

是的,它可以工作;我正在我的一个应用程序中做一些非常相似的事情(虽然交换了一个JSON / OAuth API的oData)

答案 1 :(得分:0)

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

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