VS2010 + Mysql5.7 使用ADO.Net Entity Framework

       系统很LOW,不想花太多时间来升级,可想做点什么,总是这也不行那也不行,更种安装要不就是vs版本太低,要不不支持低版本的mysql,调试起来很费时。用老版办法写代码又太费劲,还是想在现有的基础上找到在vs2010中针对mysql数据库使用ADO.net Entity Framework。费了很多时间实验,最后找到的方法其实很简。不需要单独安装mysql for vs(如果要装要1.1.4支持2010),在mysql-connector-net-6.6.5.msi中集成了mysql for vs2010。

好久没用,把EF最基本的东西都快忘光了,最基本的CRUD操作如下:

建一个数据库对象

SchoolEntities school = new SchoolEntities();

添加一条记录

public void Add(Student stu)
{
school.Students.Add(stu);
school.SaveChanges();
}

public void Add(Student stu)
{
school.Entry(stu).State = EntityState.Added;
school.SaveChanges();
}
添加多条数据

public void Add(List<Student> list)
{
school.Students.AddRange(list);
school.SaveChanges();
}

删除一条记录

public void Delete(Student stu)
{
school.Students.Remove(stu);
school.SaveChanges();
}

public void Delete2(Student stu)
{
school.Entry(stu).State = EntityState.Deleted;
school.SaveChanges();
}
删除多条记录

public void Delete(List<Student> list)
{
school.Students.RemoveRange(list);
school.SaveChanges();
}

public void Delete(List<Student> list)
{
foreach (var item in list)
{
school.Entry(item).State = EntityState.Deleted;
}
school.SaveChanges();
}

修改一条记录

public void Update(Student stu)
{
school.Entry(stu).State = EntityState.Modified;

school.SaveChanges();
}
修改多条记录

public void Update(List<Student> list)
{
foreach (var item in list)
{
school.Entry(item).State = EntityState.Modified;
}
school.SaveChanges();
}
修改单个列,比如只修改Name字段

public void Update(Student stu)
{
school.Students.Attach(stu);

school.Entry(stu).Property(s => s.Name).IsModified = true;

school.SaveChanges();
}

school.Entry(stu).Property("Name").IsModified = true;

 

查询全部Students

var list = school.Students.ToList();
根据条件查询

var stus1 = school.Students.Where(s => s.Name == "哈哈").ToList();
根据主键查询

var stu1 = school.Students.Find(2);
一条记录

var stu = school.Students.FirstOrDefault(s => s.Name == "哈哈");

 

另关于VS版本,如果要做人工智能,使用ML.NET最好选择2022版本。

 
posted @   吾心依旧  阅读(114)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示