Entity Framework Core
C#,EF Core
singhwong
C#,UWP,.Net
展开
-
11. 迁移
可以在现有的数据库中使用EF Core(称为"数据库优先")。在许多使用EF Core的场景中,数据库已经存在。数据库的模型类更新独立于应用程序,并且在数据库更改完成后更新应用程序。在这种情况下,EF Core迁移没有多大帮助。如果使用应用程序创建数据库,EF Core迁移将非常有用。更改代码模型时,可以自动更新数据库。如果客户都有自己的数据库,并且使用应用程序的更新版本更改数据库模式,那么使用旧的应用程序版本更新客户可能是一个挑战。EF Core迁移可以解决这个问题:通过迁移,可以轻松地从版本x升级到原创 2020-07-21 15:39:03 · 277 阅读 · 0 评论 -
10. 使用事务
前面在介绍ADO.NET时,介绍了使用事务编程的内容。每次使用Entity Framework访问数据库时,都涉及事务。可以隐式地使用事务或根据需要使用配置显示地创建它们。此节使用的示例项目以两种方式展示事务。这里,Menu、MenuCard和MenuContext类的用法与前面的MenusSample项目相同。1.使用隐式的事务...原创 2020-07-20 16:02:05 · 203 阅读 · 0 评论 -
9. 上下文池
在EF Core 2.0中,可以把上下文放在池中,以提高性能。连接已经放在池中好长时间了。应在需要连接之前打开它们,使用之后立即关闭它们。在EF Core中,这个行为已经在框架中实现了。关闭连接时,对数据库服务器的连接并没有真正关闭,而是把连接返回连接池,以便在打开下一个连接时重用。连接池用连接字符串配置。DbContext的用法规则与连接类似。它们也应在需要之前创建,在使用之后立即关闭(销毁)。其开销没有我们想象的那么大。模型不是在调用每个新上下文时初始化,而是重用模型。在Entity Framewo原创 2020-07-20 02:03:46 · 212 阅读 · 1 评论 -
8. 冲突的处理
如果多个用户修改同一个记录,然后保存状态,会发生什么?最后谁的变更会保存下来?如果访问同一个数据库的多个用户处理不同的记录,就没有冲突。所有用户都可以保存她们的数据,而不干扰其他用户编辑的数据。但是,如果多个用户处理同一记录,就需要考虑如何解决冲突。有不同的方法来处理冲突。最简单的一个方法是最后一个用户获胜。最后保存数据的用户覆盖以前用户执行的变更。EF Core还提供了一种方式,使第一个保存数据的用户获胜,采用这一选项,保存记录时,需要验证最初读取的数据是否仍在数据库中。如果是,就继续保存数据,因原创 2020-07-19 14:23:52 · 379 阅读 · 1 评论 -
7. 保存数据
在使用模型和关系创建数据库之后,可以对其进行写入。前面展示了如何添加、更新和删除记录,但是现在深入了解如何影响这些记录并包括关系。1.用关系添加对象原创 2020-07-17 21:55:08 · 450 阅读 · 0 评论 -
6. 关系
关系可以定义为一对一或一对多。对于多对多关系,在EF Core 2.0中,需要在关系中指定一个中间类,从而将该关系分割为一对多关系和多对一关系。关系可以使用约定、注释和流利API来指定。下一节将讨论这三种变体。1.使用约定的关系...原创 2020-07-13 18:26:47 · 318 阅读 · 0 评论 -
5. 查询
前面定义了模型,下面了解查询的更多细节。本节讨论:基本查询 在服务器和客户端上求值 原始SQL查询 编译过的查询有更好的性能 全局查询过滤器 EF.Functions1.基本查询如前所述,访问上下文的返回类型为DbSet的属性将返回指定表的所有实体的列表。下面详细讨论。访问Books属性,会从数据库中检索所有Book记录:...原创 2020-07-09 13:25:52 · 299 阅读 · 0 评论 -
4. 创建模型
本章的第一个示例映射到一个表。第二个更复杂的示例展示了如何创建表之间的关系。新数据库是通过编程创建的,当然也可以先创建数据库,再使用代码访问已有的数据库。1.创建关系原创 2020-07-06 23:41:41 · 704 阅读 · 0 评论 -
3. 使用依赖注入
EF Core内置了对依赖注入的支持。使用EF Core和依赖注入容器也得到了有力的支持。它不是定义连接并利用DbContext派生类来使用SQL Server,而是使用依赖注入框架来连接和SQL Server选项。为了看到其操作,前面的示例用BooksSampleWithDI示例项目进行修改。BooksContext类现在看起来要简单的多,只是定义Books属性:...原创 2020-07-06 16:57:13 · 408 阅读 · 0 评论 -
2. EF Core简介
第一个例子使用了一个Book类型,把这种类型映射到SQL Server数据库中的Books表。把记录写到数据库,然后读取、更新和删除它们。第一个示例中,首先创建数据库或者从应用程序创建数据库。为了先创建数据库,可以使用Visual Studio 2017中的SQL Server Object Exploer。选择数据库实例(localdb)\MSSQLLocalDB(随Visual Studio一起安装),单机树视图中的Database节点,然后选择Add New Database。示例数据库WroxB原创 2020-07-04 14:57:10 · 783 阅读 · 0 评论 -
1. Entity Framework Core 简史
Entity Framework和Entity Framework Core(EF Core)是一个提供了实体-关系映射的架构,通过它们,可以创建映射到数据库表的类型,使用LINQ创建数据库查询,创建和更新对象,把它们写入数据库。原创 2020-07-04 13:09:52 · 252 阅读 · 0 评论