摘要:
通过前面三篇文章的介绍,我们学习了如何创建实体,如何创建数据库操作,如何创建应用服务。在上一文章中我们在应用层实现了对数据库的CURD操作。在本篇文章中,主要是使用常规的MVC方式来实现增删改查的功能,通过完善Controller、View、ViewModel,以及调试修改控制器来实现展示层的增删改查。 阅读全文
摘要:
在上一篇文章中学习了ABP的仓储(Repository)功能,Repository对数据库进行增删改查操作。在这一篇文章中我们主要了解应用服务层。 应用服务用于将领域(业务)逻辑暴露给展现层。展现层通过传入DTO(数据传输对象)参数来调用应用服务,而应用服务通过领域对象来执行相应的业务逻辑并且将DTO返回给展现层。因此,展现层和领域层将被完全隔离开来。 阅读全文
摘要:
Repository用来操作数据库进行数据存取。仓储接口在领域层定义,而仓储的实现类应该写在基础设施层。在ABP中,仓储类要实现IRepository接口,接口定义了常用的增删改查以及聚合方法,其中包括同步及异步方法。如何自定义仓储实现类。 阅读全文
摘要:
在上二篇文章中我们简单介绍了一下ABP.TPLMS系统的概况,已经对ABP的体系结构以及项目结构有了一个初步的了解。在这一篇文章中我们主要和领域层打交道,主要是创建实体与进行迁移。现在我们来完成以下任务:在领域层创建一个Entitys文件夹,并在这个文件夹中创建Module实体类。 阅读全文
摘要:
ABP.TPLMS.Application,应用层:进行展现层与领域层之间的协调,协调业务对象来执行特定的应用程序的任务。它不包含业务逻辑,主要包含一些模型,abp重要的数据传输DTO,包括数据库映射实体,前端视图模型转实体(Entity)对象,一个应用服务方法通常被认为是一个工作单元(Unit of Work),使用一种像AutoMapper这样的工具来进行实体与DTO之间的映射,前端参数传入有限性验证等等 阅读全文
摘要:
ABP是为新的现代Web应用程序使用最佳实践和使用最流行工具的一个起点。可作为一般用途的应用程序的基础框架或项目模板。本系列是介绍基于ABP+EasyUI的Web开发框架的形成过程,期间包括一些ABP的介绍,ASP.NET MVC Core技术、EasyUI技术、JQuery技术、WebAPI 技术,以及一些我对整体框架改造的基础性东西,力求更加稳定、通用、高效、简洁,最少的代码做最多的事情。我所使用的ABP版本是4.3,是2019年3月14日的版 阅读全文
摘要:
ASP.NET Core MVC 包含对通过固定格式或根据客户端规范来设置响应数据格式的内置支持。
ASP.NET Web API的内容协商(Content Negotiation)机制的理想情况是这样的:客户端在请求头的Accept字段中指定什么样的MIME类型,Web API服务端就返回对应的MIME类型的内容(响应头的中Content-Type就是Accept中指定的MIME类型)。而现实情况是,Web API服务端能返回什么MIME类型的响应类型取决于有没有对应这个MIME类型的MediaTypeFormatter。ASP.NET Core Web API的默认提供JsonMediaTypeFormatter,如果要支持 XmlMediaTypeFormatter需要进行配置。
ASP.NET Core MVC 使用的默认格式是 JSON。 内容协商由 ObjectResult 实现。 它还内置于从帮助程序方法(全部基于 ObjectResult)返回的特定于状态代码的操作结果中。 还可以返回一个模型类型(已定义为数据传输类型的类),框架将自动 阅读全文
摘要:
在之前的文章中我们是使用Rester来测试我们的WebAPI的。接下来,我们来创建一个实际的页面来测试之前我们写的WebAPI。我们创建一个HTML页面,并在页面使用 jQuery 来调用 Web API 。通过jQuery来调用增删除改查WebAPI接口,并用 API 接口返回的响应中的详细信息更新到页面中。 阅读全文
摘要:
通过使用Http定义的服务器的交互方法,进行更新与删除。
PUT通常用于向服务器发送请求,如果URI不存在,则要求服务器根据请求创建资源,如果存在,服务器就接受请求内容,并修改URI资源的原始版本。如果新的资源被创建,这个原始服务器就必须通过201(Created)响应通知用户代理。如果已有资源被修改,则发送200或者204响应,表示成功完成了该请求。 阅读全文
摘要:
webapi的返回值类型介绍,与新增方法。 阅读全文
摘要:
添加 GetBookItem 方法,并进行测试。 阅读全文
摘要:
为WEBAPI项目添加数据库上下文、注册数据库上下文、添加数据库连接、 添加控制器 阅读全文
摘要:
从今天开始来学习如何在 ASP.NET Core 中构建 Web API 以及每项功能的最佳适用场景。 阅读全文
摘要:
通过前面的教程学习,你可以实现一个简单的书籍管理系统。 在本教程将向书籍索引页中添加分页功能。 阅读全文
摘要:
乐观并发的解决方案有以下三种:
1) 可以跟踪用户已修改的属性,并仅更新数据库中相应的列。
2) 可让后提交的用户更改覆盖之前用户提交的更改。
3) 可以阻止在数据库中更新后一用户提交的更改。 阅读全文
摘要:
在本教程中,我们来学习如何进行分组。
在 书籍管理系统的“关于”页上,将显示每个出版社有多少书籍。 这要求在分组上再进行分组和简单计算。 要完成此操作,需要执行以下操作:
创建一个视图模型类,该视图类是需要传递到该视图的数据的抽象。
修改关于视图。 阅读全文
摘要:
在本教程中,我们来学习如何进行排序。
通过前面的教程学习,你可以实现一个简单的书籍管理系统。 在本教程将向书籍索列表页面中添加排序功能。 列标题是一个链接,用户可以单击它使数据按该列排序。 反复单击列标题在升序排列和降序排列之间切换。 阅读全文
摘要:
我们通过前面的二篇文章的学习,已经实现了文件上传的主要功能,这一篇文章我们来学习如何把上传文件的功能页面添加到首面上面,以及删除功能的实现 。 阅读全文
摘要:
将页面发布到服务器时,会检查 ModelState。 如果无效,会重新生成Describe,且页面会呈现一个或多个验证消息,陈述页面验证失败的原因。 如果有效,FileUpload 属性将用于“OnPostAsync”中,以完成两个上传文件的上传,并创建一个用于存储数据的新 Describe 对象。 然后会将这两个上传文件保存到数据库。 阅读全文
摘要:
本篇文章我们来讲在书籍信息管理系统示例使用简单的模型绑定上传文件,本文的示例适合上传小型文件。本篇文章演示如何通过单个 POST 将两个文件上传至服务器。 阅读全文