我目前正在构建一个包含两个部分的应用程序,即用户前端和管理后端。前端是ASP.NET MVC应用程序,后端是Silverlight应用程序。我通过创建一个名为Administration的Silverlight业务应用程序启动了该项目,并添加了两个项目,Silverlight应用程序(管理)和托管Web应用程序(Administration.Web)。我想在Silverlight应用程序中使用RIA服务,因此我添加了一个Entity数据模型并构建了该服务。
我遇到的问题是我想添加一个ASP.NET MVC项目并引用一个包含数据模型的项目。我更喜欢数据模型存在于自己的项目中,而不是一个,因此管理员和前端可以引用类库,而不是asp.net Web应用程序。
是否可以将.edmx文件移动到另一个项目(类库)并继续使RIA服务工作?
答案 0 :(得分:0)
这可能是可能的。首先将您的实体模型添加到类库项目并添加表。然后创建一个Web应用程序并让它引用您的类库。在您的Web项目中添加域服务,然后在向导中选择您的实体模型(确保构建您的类库项目,否则模型可能不会出现)。然后创建一个Silverlight应用程序,并为RIA Services链接选择您的Web应用程序。然后,您可以创建ASP.NET MVC Web应用程序并将其引用到您的类库中。当涉及到Silverlight时,您将无法直接访问域模型,因此仍然必须通过域服务来完成。
我没有在机器上验证这个(它只是来自内存),所以如果有任何错误,请告诉我。 :)