应该 以领域 为核心开发程序, 不应该 以数据库

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 学习笔记的更多相关文章

  1. Entity Framework (EF) Core学习笔记 1

    1. Entity Framework (EF) Core 是轻量化.可扩展.开源和跨平台的数据访问技术,它还是一 种对象关系映射器 (ORM),它使 .NET 开发人员能够使用面向对象的思想处理数据 ...

  2. .NET CORE学习笔记系列(2)——依赖注入[7]: .NET Core DI框架[服务注册]

    原文https://www.cnblogs.com/artech/p/net-core-di-07.html 包含服务注册信息的IServiceCollection对象最终被用来创建作为DI容器的IS ...

  3. .NET CORE学习笔记系列(2)——依赖注入[6]: .NET Core DI框架[编程体验]

    原文https://www.cnblogs.com/artech/p/net-core-di-06.html 毫不夸张地说,整个ASP.NET Core框架是建立在一个依赖注入框架之上的,它在应用启动 ...

  4. .NET CORE学习笔记系列(2)——依赖注入[5]: 创建一个简易版的DI框架[下篇]

    为了让读者朋友们能够对.NET Core DI框架的实现原理具有一个深刻而认识,我们采用与之类似的设计构架了一个名为Cat的DI框架.在上篇中我们介绍了Cat的基本编程模式,接下来我们就来聊聊Cat的 ...

  5. .NET CORE学习笔记系列(2)——依赖注入[4]: 创建一个简易版的DI框架[上篇]

    原文https://www.cnblogs.com/artech/p/net-core-di-04.html 本系列文章旨在剖析.NET Core的依赖注入框架的实现原理,到目前为止我们通过三篇文章从 ...

  6. .NET CORE学习笔记系列(2)——依赖注入【3】依赖注入模式

    原文:https://www.cnblogs.com/artech/p/net-core-di-03.html IoC主要体现了这样一种设计思想:通过将一组通用流程的控制权从应用转移到框架中以实现对流 ...

  7. .NET CORE学习笔记系列(2)——依赖注入【2】基于IoC的设计模式

    原文:https://www.cnblogs.com/artech/p/net-core-di-02.html 正如我们在<控制反转>提到过的,很多人将IoC理解为一种“面向对象的设计模式 ...

  8. .NET CORE学习笔记系列(2)——依赖注入【1】控制反转IOC

    原文:https://www.cnblogs.com/artech/p/net-core-di-01.html 一.流程控制的反转 IoC的全名Inverse of Control,翻译成中文就是“控 ...

  9. .NET Core学习笔记(7)——Exception最佳实践

    1.为什么不要给每个方法都写try catch 为每个方法都编写try catch是错误的做法,理由如下: a.重复嵌套的try catch是无用的,多余的. 这一点非常容易理解,下面的示例代码中,O ...

随机推荐

  1. MySQL之concat以及group_concat的用法

    本文中使用的例子均在下面的数据库表tt2下执行: 一.concat()函数 1.功能:将多个字符串连接成一个字符串. 2.语法:concat(str1, str2,...) 返回结果为连接参数产生的字 ...

  2. Tab 插件(一)

    前言 使用Jquery封装插件,使代码复用不需要每个功能重新编写代码只需修改传入参数. jQuery 插件常见到有类开发 和对象开发模式, 在下边介绍两种模式使用,初次编写,有误拍砖. jQuery ...

  3. Hibernate通过自编写sql查询

    public List<InterProductMsg> selectIsHaveProductid(String productId) { String sql="SELECT ...

  4. Markdown emoji

    由于网页解析原因,部分符号无法正常显示 People emoji code emoji code :bowtie: :bowtie:

  5. 移动端的click点透问题

    在移动端开发中,有时会出现click点透的问题. 一.什么是click点透 以下情况,在B元素上有半透明红色遮盖层A,黄色B元素内有可点击链接C. tips:以下举例仅针对webkit内核浏览器,所有 ...

  6. is 和 == 区别

    == 和 is 的区别 == 比较 比较的是两个值 适用于 列表​a = '[1:2]'b = '[1:2]'print(a == b) #True​​​​ 字典a = '{1,2,3}'b = '{ ...

  7. c语言中的隐式函数声明(转)

    本文转自:http://www.jb51.net/article/78212.htm 在c语言里面开来还是要学习c++的编程习惯,使用函数之前一定要声明.不然,即使编译能通过,运行时也可能会出一些莫名 ...

  8. pat1017. Queueing at Bank (25)

    1017. Queueing at Bank (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Supp ...

  9. GitKraken使用教程-基础部分(3)

    5. 克隆服务器上的项目 首先,返回主界面,点击File => Clone Repo,选择 Clone with URL,如下图: 图 5‑1 SSH方式克隆仓库界面 1) SSH 方式连接仓库 ...

  10. android finish和system.exit(0)的区别

    finish是Activity的类,仅仅针对Activity,当调用finish()时,只是将活动推向后台,并没有立即释放内存,活动的资源并没有被清理:当调用System.exit(0)时,杀死了整个 ...