c#—MVC框架-新闻管理系统一

本文最后更新于:November 10, 2022 pm

c#+MVC框架-新闻管理系统一

一、创建数据库以及表

  • 创建数据库(NewsDB)
  • 创建Member表(用于存放用户信息)
    1.png
  • 创建新闻信息表(用于联系用户和新闻)
    2.png

    二、创建MVC项目

    3.png
  • 简单来说MVC框架就是Control控制器把Model里面的数据拿出来满足View中界面对数据的需求。
  • 打开Visual Studio新建项目
  • 项目名字自己命名,直接创建
  • 创建一个空的“ASP.NET Web” 应用程序
    4.png
    5.png
    6.png
  • 创建完后的界面如下图所示:
    7.png

    三、连接数据库

  • 通过上面描述,想必大家已经知道我们需要在Model中创建一个实体承载我们数据库中的数据,接下来让我们在Model中新建项,新建一个实体数据模型
    8.png
    9.png
    10.png
    11.png
    12.png
    13.png
    14.png
    15.png
    16.png
  • 按照上面的步骤操作后会出现如下图所示的界面
    17.png
  • 下面通俗地来说一下数据在这个模型中的存在形式
    18.png
  • News表的存在形式也是一样的,都是以表的形式存在的(对象)。

    四、创建接口和实现类

  • 创建数据库的增删改查操作时间接口(操作方法)
    19.png
  • 代码如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace NewsSystem.Models
    {
    public interface IProvider<T> where T : class
    {
    /// <summary>
    /// 对数据库进行的4个操作的接口方法
    /// </summary>
    /// <returns></returns>
    List<T> Select(); // 查询数据库的所有记录
    int Insert(T t); // 对数据库进行插入操作
    int Update(T t); // 对数据库进行修改的操作
    int Delete(T t); // 对数据库进行删除操作
    }
    }

  • 两张数据表的增删改查代码(这里提供一个,另一个只需要修改访问的数据库就行)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    namespace NewsSystem.Models
    {
    public class NewsProvider : IProvider<News>
    {
    private NewsDBEntities db = new NewsDBEntities();
    public int Delete(News t)
    {
    if (t == null)
    return 0;
    else
    {
    var model = db.News.ToList().FirstOrDefault(item => item.Id == t.Id);
    if (model == null)
    {
    return 0;
    }
    else
    {
    db.News.Remove(model);
    int count = db.SaveChanges();
    return count;
    }
    }
    }

    public int Insert(News t)
    {
    if (t == null) return 0;
    db.News.Add(t);
    int count = db.SaveChanges();
    return count;
    }

    public List<News> Select()
    {
    return db.News.ToList();
    }

    public int Update(News t)
    {
    if (t == null)
    return 0;
    else {
    var model = db.News.ToList().FirstOrDefault(item => item.Id == t.Id);
    model.Title = t.Title;
    model.Text = t.Text;
    int count = db.SaveChanges();
    return count;
    }
    }
    }
    }

    在上述代码中可以看到是通过NewsDBEntities来创建的数据库访问对象db,然后通多db来访问数据表