EF core 学习笔记
应该 以领域 为核心开发程序, 不应该 以数据库
entityframeworkcore
entityframeworkcore.sqlserver
entityframeworkcore.tool
entityframeworkcore.tool很重要, 没有这句话,无法进行数据迁移. 数据迁移
get-help entityframeworkcore这句指令是万能 的,一有不会就要 点这个查询指令
数据迁移指令
1.Add-Migration Initial
2.Update-Database
开发环境的连接字符串写在这里
将web项目作为启动项目
控制台 设置Data
用cityid 和 companyid 做联合主键
用 fluent api 方式配置 主 外键
Int Id在数据库 默认为主键, 数据库会自增的。
这种写法 dbContext会自动 dispose的
批量操作,只能是1000条 命令最多
只有tolist的时候,才会真正的查询。 才会到数据库中 执行
查询的 linq 和lambda 写法 。
参数化使用lambda查询,
会执行查询的 lambda 方法
会执行查询的非 lambda的方法
用find 方法 查询 的好处 是 ,find 是dbset 的方法,如果dbcontent 有追踪该实体的话, 可以在内存中直接查,不需要 去数据库查询。
模糊查询的第1种方法
模糊查询的第2中方法
lastordefault 语句,必须要和 order by 配合。 因为 性能问题 。
修改这里
因为db2没有跟踪db1查询的查询出来的实体,所以叫做 修改离线数据
修改离线数据,会修改除了 id 主键以外的数据。
这个 没有讲,可以去官方文档看 。
省份表 和城市表 是通过 省份id这个外键关联起来的
//级联, 增加离线数据 ,必须使用外键!
where +tolist()的效果 ,等同于 firstordefault ()效果
查询关联数据 有这几种方法 :
1.预加载 ,在一次查询中 ,使用include属性。把 关联数据,一次性加载出来
2.查询映射 Query Projections
quick watch 是个 好东西,哈哈哈 。
使用 修改离线 的 关联数据时, 必须要用状态版,修改。
否则 在该 例子中, 修改成都的时候,vs 会顺便修改 四川省的其他 城市数据
3.显示加载,在内存中已经有 数据了,然后再数据库中 查询 关联数据
.net core 2.1的 知识
更改主键的修改,在数据库 ,就是先删除,后插入 。
主键为 guid 时,应该 这样写 修改
EF core 学习笔记的更多相关文章
- Entity Framework (EF) Core学习笔记 1
1. Entity Framework (EF) Core 是轻量化.可扩展.开源和跨平台的数据访问技术,它还是一 种对象关系映射器 (ORM),它使 .NET 开发人员能够使用面向对象的思想处理数据 ...
- .NET CORE学习笔记系列(2)——依赖注入[7]: .NET Core DI框架[服务注册]
原文https://www.cnblogs.com/artech/p/net-core-di-07.html 包含服务注册信息的IServiceCollection对象最终被用来创建作为DI容器的IS ...
- .NET CORE学习笔记系列(2)——依赖注入[6]: .NET Core DI框架[编程体验]
原文https://www.cnblogs.com/artech/p/net-core-di-06.html 毫不夸张地说,整个ASP.NET Core框架是建立在一个依赖注入框架之上的,它在应用启动 ...
- .NET CORE学习笔记系列(2)——依赖注入[5]: 创建一个简易版的DI框架[下篇]
为了让读者朋友们能够对.NET Core DI框架的实现原理具有一个深刻而认识,我们采用与之类似的设计构架了一个名为Cat的DI框架.在上篇中我们介绍了Cat的基本编程模式,接下来我们就来聊聊Cat的 ...
- .NET CORE学习笔记系列(2)——依赖注入[4]: 创建一个简易版的DI框架[上篇]
原文https://www.cnblogs.com/artech/p/net-core-di-04.html 本系列文章旨在剖析.NET Core的依赖注入框架的实现原理,到目前为止我们通过三篇文章从 ...
- .NET CORE学习笔记系列(2)——依赖注入【3】依赖注入模式
原文:https://www.cnblogs.com/artech/p/net-core-di-03.html IoC主要体现了这样一种设计思想:通过将一组通用流程的控制权从应用转移到框架中以实现对流 ...
- .NET CORE学习笔记系列(2)——依赖注入【2】基于IoC的设计模式
原文:https://www.cnblogs.com/artech/p/net-core-di-02.html 正如我们在<控制反转>提到过的,很多人将IoC理解为一种“面向对象的设计模式 ...
- .NET CORE学习笔记系列(2)——依赖注入【1】控制反转IOC
原文:https://www.cnblogs.com/artech/p/net-core-di-01.html 一.流程控制的反转 IoC的全名Inverse of Control,翻译成中文就是“控 ...
- .NET Core学习笔记(7)——Exception最佳实践
1.为什么不要给每个方法都写try catch 为每个方法都编写try catch是错误的做法,理由如下: a.重复嵌套的try catch是无用的,多余的. 这一点非常容易理解,下面的示例代码中,O ...
随机推荐
- linux中mysql,mongodb,redis,hbase数据库操作
.实验内容与完成情况:(实验具体步骤和实验截图说明) (一) MySQL 数据库操作 学生表 Student Name English Math Computer zhangsan lisi 根据上面 ...
- Hive学习(三)Hive的Java客户端操作
Hive的Java客户端操作分为JDBC和Thrifit Client,首先启动Hive远程服务: hive --service hiveserver 一.JDBC 在MyEclipse中首先创建连接 ...
- Android中的下拉列表
在Web开发中,HTML提供了下拉列表的实现,就是使用<select>元素实现一个下拉列表,在其中每个下拉列表项使用<option>表示即可.这是在Web开发中一个必不可少的交 ...
- Fedora14 mount出现错误时解决办法【亲测有效】
挂载时出现了如上图所示问题,看第一条英语提示,我刚开始以为是文件权限不够,改了权限之后,依旧存在这样的问题, 于是,我上网查阅了一些资料: 在解决之前,先让我们一起来了解一下nfs: NFS最大功能就 ...
- redis要注意的一些知识
除了存取数据,redis还可以支持mq等操作,这里面有些小细节,需要注意一下: ---------------------------------------- 1.事务处理 大家都说redis支持事 ...
- Erlang C 與M/M/N排隊模型
一何谓排队模型 在现实生活中排队的现象可说是无处不在,如:买票.超商.百货公司…等.顾客总是在揣测"排在哪一个服务台会比较快?"或"到底还要排多久呢?"类似这样 ...
- HDU——Cover——————【技巧】
Cover Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submi ...
- C# 十进制与二进制、十六进制、八进制之间的转换
1.十进制 转 二进制 将十进制数不断地除2,将所有余数倒叙填写,即可得到所需二进制数据. public static string DecimalToBinary(int vDecimal) { / ...
- [转]Java内存溢出详解及解决方案
原文地址:http://blog.csdn.net/xianmiao2009/article/details/49254391 内存溢出与数据库锁表的问题,可以说是开发人员的噩梦,一般的程序异常,总是 ...
- java基础:JDK环境安装
根据操作系统位数(32/64,一般64位向下兼容),项目要求版本,下载对应JDK安装包 配置环境变量 JAVA_HOME C:\Program Files\Java\jdk1.7.0_80 PATH ...