c# – ASP.NET – 单一解决方案,MVC和WebApi项目,每个单独的模型?

我们已经有了一个包含多个MVC Web项目的解决方案,现在又添加一个面向客户端的WebApi项目.

API将是通过任何网络项目提供的缩小版本(尽管随着时间的推移它可能会扩展得更多),因此我们已经到了如何处理模型的决策点.

在不同项目中处理模型的最佳实践是什么?

据我所知,WebApi项目中的模型将使用某些对MVC Web应用程序毫无意义的属性属性.而且作为示例,display属性对WebApi没有意义,但在View中非常有用.

这让我相信我应该为WebApi创建一组单独的模型,但也想知道我是否遗漏了一些东西.

我知道这可能是一个可能导致一系列意见的问题,所以我主要是在寻找被认为是行业最佳实践的东西.

解决方法

在我的Web API和MVC Web应用程序的解决方案中,我有以下结构

模型:我的实体/业务对象.这些是由我的数据库中的Entity框架创建的.这几乎与我的数据库结构相同.我的Repositary方法(用于数据访问)返回单个实例/此类实例的集合.我的数据访问项目是一个单独的类库,已在其他地方引用,如我的web api项目等.

Web API viewmodels:特定于Web API接口/操作方法viewmodels(POCO类).

MVC Web应用程序viewmodels:特定于我的剃刀视图的viewmodels(POCO类).我甚至从Web API viewmodels中继承了其中的一些,并根据需要添加了其他属性.

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...