个人网站建设制作,黄页推广引流,六枝特区建设局网站,wordpress 上线到centosSqlite3是个特别好的本地数据库#xff0c;体积小#xff0c;无需安装#xff0c;是写小控制台程序最佳数据库。NET Core是同样也是.NET 未来的方向。
**硬件支持型号 点击 查看 硬件支持 详情**
DTU701 产品详情
DTU702 产品详情
DTU801 产品详情
DTU802 产品详情
D…Sqlite3是个特别好的本地数据库体积小无需安装是写小控制台程序最佳数据库。NET Core是同样也是.NET 未来的方向。
**硬件支持型号 点击 查看 硬件支持 详情**
DTU701 产品详情
DTU702 产品详情
DTU801 产品详情
DTU802 产品详情
DTU902 产品详情
G5501 产品详情
ARM dotnet 编程 创建C#控制台应用(具有.NET6),项目命令sqlite。
Nuget安装 Microsoft.EntityFrameworkCore.Sqlite Microsoft.EntityFrameworkCore.Sqlite.Core Newtonsoft.Json
EFORM操作框架但不包括数据库基本操作我感觉默认自带sql server数据库操作 SqliteSqlite数据库操作EF接管
ORM解释 ORM又称对象关系数据库。 在ORM里面认为我们操作的对象属性和数据库里面的列的定义是对应的。 比如一个Student类有id,name,age,sex等属性那么我们C#程序中的类也有id,name,age,sex等属性。 而且我的类名和你的表名完全一致我的数据类型和你的数据库也有对应关系 例如C#的string在数据库里面有varchar(50),varchar(max),nchar(10)等 sqlite上 添加-新建文件夹DB
DB 添加-类 ORMContext
ORMContext是数据库的上下文。
ORMContext.cc 中的内容如下
namespace sqlite.DB
{//继承DbContext让EF接管 ,ORMContext数据库上下文public class ORMContext : DbContext{public DbSetStudent Students { get; set; }protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){//base.OnConfiguring(optionsBuilder);//数据库连接字符串optionsBuilder.UseSqlite(Data Sourceblogging.db);}}public class Student{//主键[Key]// 自动递增[DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; }public string Name { get; set; }public int Age { get; set; }public string Sex { get; set; }}
}
Program.cs中 我们 对数据库 进行创建、保存、查、排序、增、删、改等操作程序如下
ORMContext _ORMContext new ORMContext();
//如果没有数据库则自动创建
_ORMContext.Database.EnsureCreated();
var i 0;
for (i 0; i 10; i)
{_ORMContext.Students.Add(new Student(){Name 小李 i,Age i,Sex 女});
}
//保存数据库更新
_ORMContext.SaveChanges();
//系列化打印数据
//var res _ORMContext.Students.Where(t t.Sex 女).ToList();
//Console.WriteLine(JsonConvert.SerializeObject(res));
Console.WriteLine(所有:);
var res _ORMContext.Students.Where(t true).ToList();
res.ForEach(t {Console.WriteLine(Name:t.Name Age:t.Age Sex:t.Sex);
});
Console.WriteLine();
/*查*/
Console.WriteLine(查List:);
//var ListRes _ORMContext.数据表.Where(t 判断条件).ToList();
var ListRes _ORMContext.Students.Where(t t.Name 小李1).ToList();
Console.WriteLine(JsonConvert.SerializeObject(ListRes));
Console.WriteLine(查第一个如果没有则返回null:);
var res1 _ORMContext.Students.Where(t t.Name 小李1).FirstOrDefault();
Console.WriteLine(JsonConvert.SerializeObject(res1));
//排序
//OrderBy: 升序
//OrderByDescending:降序
Console.WriteLine(排序:);
var res2 _ORMContext.Students.Where(tt.Name 小李1).OrderByDescending(t t.Id).ToList();
Console.WriteLine(JsonConvert.SerializeObject(res2));
/*增删改由于ORM是对象数据模型所以所有的数据操作都是对一个完整的对象进行操作。
EF具有缓存追踪的设置如果你查询出来的数据进行了修改然后保存缓存的话就会同步更新。
*/
// 增
_ORMContext.Students.Add(new Student
{Name 小李,Age i,Sex 男
});
_ORMContext.SaveChanges();//保存缓存操作
// 改
var res3 _ORMContext.Students.Where(t t.Age 0).ToList();
//将所有年龄为0的人的名字改成修改名称
res3.ForEach(item {item.Name 修改名称;
});
_ORMContext.SaveChanges();//保存缓存操作
// 删
//删除所有年龄小于5岁的人
Console.WriteLine(删除所有年龄小于5岁的人);
var res4 _ORMContext.Students.Where(t true).ToList();
res4.ForEach(t {if (t.Age 5){_ORMContext.Students.Remove(t);}
});
_ORMContext.SaveChanges();//保存缓存操作
Console.WriteLine(剩余的名字:);
var res5 _ORMContext.Students.Where(t true).ToList();
res5.ForEach(t {Console.WriteLine(t.Name);});
//sql语句执行
//sql查询
//实体查询
//var res5 _ORMContext.Database.SqlQueryStudent(Select * from Students).ToList();
///sql执行/增删改
//_ORMContext.Database.ExecuteSqlCommand(update Students set sex 女 where age 6);
Console.WriteLine(Hello, World!);
Console.ReadLine();
执行结果如下