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版本。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现