一、新建Models 中实体类
在类中添加特性,添加特性之前需要引用命名空间
1、类的上边 [Table("表名称")] ? 2、主键 [Key]
[Table("Student")]
public class Student
{
[Key]
public int SId { get; set; }
[Required(ErrorMessage ="请输入姓名")]
[StringLength(50)]
public string SName { get; set; }
}
二、新建Dal文件夹
1、右键->新建项-->左边点数据,右边点 ADO.NET 实体数据模型-->选择空Code First 模型
2、在实体数据模型当中 添加 数据集属性
public DbSet<Model实体类> 属性名 { get; set; }--格式
public DbSet<Student> Students { get; set; }--例
三、更改web.config 数据库连接字符串
1、更改connectionString属性名 data source 值 改成 .或数据库实例名称
2、更改connectionString属性名 initial catalog 值 改成 自定义数据库名称
四、完成数据迁移命令->菜单点->工具->NuGet包管理器->程序包管理器控制台
1、Enable-Migrations 启动迁移(将自动生成的Configuration文件中 AutomaticMigrationsEnabled =true)允许自动迁移
2、add-Migration init (init 名称自定义)
3、update-database 完成更数据库 迁移操作
五. 完成简单的增删改查
1.添加
public int Add(Student stu)
{
db.Students.Add(stu); // 更改状态为“添加”
return db.SaveChanges(); //受影响行数
}
2.删除
public int Del(int id)
{
//先通过id 进行查询 实体
var item = db.Students.Find(id);
//再删除 (更改状态)
db.Students.Remove(item);
//操作数据库
return db.SaveChanges();
}
3.修改
public int Edit(Student stu)
{
db.Entry(stu).State = System.Data.Entity.EntityState.Modified;
return db.SaveChanges();
}
4.显示
public List<Student> GetAll()
{
return db.Students.ToList();
}
5.反填
public Student FindById(int id)
{
return db.Students.Find(id);
}
6.带异常处理的添加
日志:
1、文本类型的-将当前时间+方法名称+参数+错误信息 打印到文本当中 2、数据表类的-将当前时间+方法名称+参数+错误信息 添加到数据表当中
throw :抛出异常 返回调用的那一节错误
public int AddStudent(Student stu)
{
try
{
db.Students.Add(stu);
var flag = db.SaveChanges();
//打印日志
return flag;
}
catch (Exception)
{
//日志 - 内容
//什么是日志?
//1、文本类型的-将当前时间+方法名称+参数+错误信息 打印到文本当中
//2、数据表类的-将当前时间+方法名称+参数+错误信息 添加到数据表当中
//当前方法名称+参数+时间
//作用:发生错误信息时,定位
throw; //抛出异常 返回调用的那一节错误
}
}