万金流
以码会友。 吾Q:578751655。 水平有限,轻喷,谢!
随笔 - 189,  文章 - 0,  评论 - 7,  阅读 - 14万

.net8 vs2022 v17.9.6调试通过。

如题,和其他ef core用法高度相似。

安装一个“Microsoft.EntityFrameworkCore.Sqlite”即可。

模型类:

复制代码
 1 internal class D1Context:DbContext
 2 {
 3     protected override void OnConfiguring(DbContextOptionsBuilder options)
 4          => options.UseSqlite($"Data Source={Path.Combine(Environment.CurrentDirectory, "d1.db")}");
 5 
 6     public DbSet<myt1> t1 { get; set; }
 7 }
 8 internal class myt1
 9 {
10     [Key]
11     public string xm { get; set; } = "noname";
12     public int nl { get; set; }
13 }
复制代码

 主程序:

复制代码
 1 static void Main(string[] args)
 2 {
 3     D1Context d1=new D1Context();
 4     myt1 t = new myt1 { xm = "yxl", nl = 25 };
 5     d1.t1.Add(t);
 6     d1.SaveChanges();
 7     IQueryable<myt1> t1s=from x in d1.t1 select x;
 8     showMyt1s(t1s);
 9 
10     t.nl = 26;
11     d1.t1.Update(t);
12     d1.SaveChanges();
13     t1s = from x in d1.t1 select x;
14     showMyt1s(t1s);
15     d1.t1.Remove(t);
16     d1.SaveChanges();
17 }
18 static void showMyt1s(IQueryable<myt1> x)
19 {
20     foreach (myt1 t in x)
21     {
22         Console.WriteLine(t.xm+"\t"+t.nl);
23     }
24 }
复制代码

运行结果:

zs      20
ls      18
ww      19
yxl     25
zs      20
ls      18
ww      19
yxl     26

 


对于mysql,不同之处也仅限于包和连接字符串的设置部分不同。

包:

按微软官方说法,下载ORACLE官方包“MySql.EntityFrameworkCore”后,使用"using Microsoft.EntityFrameworkCore"。

连接字符串:

复制代码
 1 protected override void OnConfiguring(DbContextOptionsBuilder options)
 2  => options.UseMySQL(get_ConnString());
 3 
 4 public DbSet<myt1> t1 { get; set; }
 5 //self----------------------------
 6 string get_ConnString()
 7 {
 8     //初始化各种参数
 9     var db_name = "";
10     var ip_add = "";
11     var port = "";
12     var user_name = "";
13     var user_pass = "";
14     //设置连接字符串
15     return $"Database={db_name};Data Source={ip_add};port ={port};User Id={user_name};Password={user_pass};allow zero datetime=true; Charset = utf8;Allow User Variables = True";
16 }
复制代码

其余所有代码跟上面sqlite的相同。结果也一样。

 

posted on   万金流  阅读(291)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构

点击右上角即可分享
微信分享提示