当前位置:
首页 > 编程开发 > Objective-C编程 >
-
EFCore自己用的点东西
测试一下EF core 的操作 蛀牙总是用导航属性有的时候有点不理解 写个例子给自己用
class Program { static void Main(string[] args) { MyDbContext myDbContext = new MyDbContext(); try { #region 添加业务/第一种添加 student中把导航属性school也加进去 这是新的用法 //AddWithDaoHangShuXing(myDbContext); #endregion #region 添加业务/第二种添加 先添加student 添加后再添加school //AddWithSingle(myDbContext); #endregion #region 修改业务 按照通俗的业务逻辑 那么修改传回来的就是类型本身 即所有的属性都可以更改 //1.首先 查出来所有的学生数据 //1.1 lambada表达式 var students = myDbContext.Student.ToList(); var studentWithDaoHangShuXings = myDbContext.Student.Include(x => x.School).ToList(); var studentWithDaoHangShuXingProvinceces = myDbContext.Student.Include(x => x.School).ThenInclude(x=>x.Province).ToList(); //1.2 linq var studentLinqs = (from s in myDbContext.Student select new { s.StudentId, s.StudentAge, s.StudentName, s.School }).ToList(); #endregion Console.WriteLine("操作完毕!"); } catch (Exception ex) { } Console.ReadLine(); } private static void AddWithSingle(MyDbContext myDbContext) { Student student = new Student { StudentName = "张汶莱", StudentAge = 26 }; myDbContext.Student.Add(student); myDbContext.SaveChanges(); School school = new School { StudentId = student.StudentId, SchAddress = "广发学校", SchName = "广发学校地址" }; myDbContext.School.Add(school); myDbContext.SaveChanges(); } private static void AddWithDaoHangShuXing(MyDbContext myDbContext) { Province province = new Province { ProvinceLeaderName = "党中央", ProvinceName = "陕西省" }; School school = new School { SchAddress = "老毛学校地址", SchName = "老毛小学", SchoolId = 0, Province = province }; Student student = new Student { StudentAge = 12, StudentName = "梁非凡", School = school, StudentId = 0 }; myDbContext.Student.Add(student); myDbContext.SaveChanges(); } } public class Province { public int ProvinceId { get; set; } public string ProvinceName { get; set; } public string ProvinceLeaderName { get; set; } } public class School { public int SchoolId { get; set; } public int StudentId { get; set; } public string SchAddress { get; set; } public string SchName { get; set; } public Province Province { get; set; } } public class MyDbContext : DbContext { /// <summary> /// 配置数据连接信息 /// </summary> /// <param name="optionsBuilder"></param> protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlServer("Server=.;DataBase=TestMyDb;Uid=sa;Pwd=123456"); base.OnConfiguring(optionsBuilder); } public DbSet<Student> Student { get; set; } public DbSet<School> School { get; set; } } public class Student { public int StudentId { get; set; } public string StudentName { get; set; } public int StudentAge { get; set; } //导航属性 public School School { get; set; } }
文章出处:https://www.cnblogs.com/yagamilight/p/13962987.html
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
JavaScript判断两个数组相等的四类方法
js如何操作video标签
React实战--利用甘特图和看板,强化Paas平
【记录】正则替换的偏方
前端下载 Blob 类型整理
抽象语法树AST必知必会
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程