我正在尝试实现下面的应用程序结构
App.Model -- UserModel -- OrderModel
App.Service -- UserService -- IUserService
App.Entity -- DbContext
网站-- WebAPI --调用服务
大多数ASP.NET 5应用程序示例都是在网站的启动文件中初始化实体框架。像.AddEntityFrameowrk() ..等。
如果我们从服务项目中调用存储库,我们需要知道如何将实体分离到单独的项目中,以及如何启动DBContext。(因为启动文件对于类库不可用)
发布于 2016-02-29 20:40:15
在以前的项目中,我采取了在一个解决方案(或多个解决方案)中维护多个ASP.NET项目的方法。这将使您能够从web应用程序中删除EF依赖项,并使web应用程序仅与处理所有EF的API对话
在过去,我已经创建了一个专用的“域”项目,其中包含所有模型,并且可以被您的web应用程序和API项目引用。
因此,项目结构将如下所示
域项目:仅包含表示模型的c#类。从“空”项目开始
API:包含您的web API。使用EF与数据库交互。我个人会为你的模型搭建API,但这是个人的选择。现在,在ASP.NET核心1.0 RC1中,web模板很差,所以我将从完整的“web应用程序”模板开始,并删除所有默认视图、控制器、脚本等。引用域项目,以便您可以从模型中搭建您的api控制器
Web应用程序:您的主web应用程序项目。从“web应用程序”模板开始,但在控制器中使用api来使用HttpClient进行数据交互。在过去,我已经创建了一组静态的“api助手类”来简化这项任务,但这仍然是个人风格的选择。引用域项目,以便您可以将传入的JSON响应转换为完整的.net模型。
https://stackoverflow.com/questions/35521653
复制相似问题