Model是应用程序中用于表示数据结构和业务逻辑的一种抽象,充当MVC模式中的“M”部分。它主要承担以下职责:
数据结构定义:定义应用程序中的实体、对象和数据字段 业务逻辑封装:包含与数据相关的业务规则,如验证规则、计算逻辑和数据转换 数据管理:负责管理应用程序的数据、状态和业务规则 2、Model的实现方式
2.1 基本模型类
在ASP.NET Core MVC中,模型通常以POCO(Plain Old CLR Object)类的形式实现。这些类通常位于项目的
Models文件夹中,但这不是强制要求,只是一种良好的组织实践。如:
public class Movie
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime ReleaseDate { get; set; }
public string Genre { get; set; }
public decimal Price { get; set; }
}
2. 2数据验证
ASP.NET Core MVC通过数据注释验证属性支持模型验证1官网。常用的验证注解包括:
表单数据绑定 查询字符串参数绑定 路由数据绑定 JSON/XML请求体绑定 [Required]:指定属性为必需 [StringLength]:限制字符串长度 [Range]:指定数值范围 [DataType]:指定数据类型 [CustomValidation]:用于自定义验证逻辑 如: public class Product
{
[Required]
[StringLength(100)]
public string Name { get; set; }
[Range(0, 1000)]
public decimal Price { get; set; }
[CustomValidation(typeof(CustomValidator), "ValidateProductName")]
public string ProductName { get; set; }
}
2.3 数据库集成
Model通常与Entity Framework Core集成,通过数据库上下文类进行数据访问:
public class MvcMovieContext : DbContext
{
public MvcMovieContext(DbContextOptions<MvcMovieContext> options)
: base(options) { }
public DbSet<Movie> Movie { get; set; }
}
在
Startup.cs或Program.cs中注册数据库上下文:services.AddDbContext<MvcMovieContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("MvcMovieContext")));
3、Model的最佳实践
4、模型绑定
ASP.NET Core MVC支持模型绑定,自动将HTTP请求数据映射到模型对象。这包括:
通过合理的Model设计,ASP.NET Core MVC能够实现清晰的关注点分离,提高代码的可维护性和可测试性。
5、在程序中添加Model
1)选中Model文件夹,右键--》添加--》类
关注点分离:Model应专注于数据表示和业务逻辑,不包含视图或控制器逻辑 依赖注入:通过构造函数注入数据库上下文等服务 强类型视图:控制器将强类型化的模型传递给视图,使视图具备类型检查和IntelliSense支持 验证逻辑:在服务器端和客户端都执行验证,确保数据有效性
在新的弹窗中,选择类,修改名字,点【添加】按钮,完成添加
6、在程序中添加Model
在Movie中,根据需要,新增对应字段
7、在程序中添加Model
在前台Index页面绑定Model,并在Html中赋值
8、在Controller中绑定数据
注意绑定完成后,要给前台页面返回数据
9、启动程序,效果如下