首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

.NetCoreEF Core迁移数据库表统一添加前缀

在项目开发过程我们往往需要将项目数据库表添加一个统一前缀。我们为什么要添加表前缀呢?有的可能是公司规定,更多原因是项目和业务区分。 每个项目针对不同需求或业务场景,追加相应标识。...当项目到达一定规模后,数据库表前缀意义便体现出来了,有利于在海量数据定位单张数据表,在数据库拆分或者查问题时候比较方便一些。...逐个配置 在Entity Framework Core我们可以通过以下两种方式实现,逐个配置每个表前缀方式实现 Fluent API modelBuilder.Entity()...当然有更优雅方式,我们可以在创建DbContext时进行一些额外配置即可实现。

98840
您找到你想要的搜索结果了吗?
是的
没有找到

EF Core增删改查

我没找到EF Core官方文档对于这种方式称呼,所以我就悄悄抢注了一下托管。 如果我们使用Config类(也就是 《C# 数据操作系列 - 7....因为在实际开发,一个完整程序或者网站实体类都会大于10,而这些如果使用属性形式会非常多,不利于实际开发。而且,EF Core可以通过 Assembly 方式整体加载配置文件。...而删除,如果在配置导航属性时,没有设置级联删除,删除当前元素,如果另一端是可空类型,并不会删除导航属性另一端元素只会设置键指向NULL,如果另一端是不可空,那么就会同时删除。...: 行为名称 对内存依赖项/子项影响 对数据库依赖项/子项影响 Cascade 删除实体 删除实体 ClientSetNull(默认) 属性设置 null None SetNull 属性设置...null 属性设置 null Restrict None None 而对于不可为NULL来说,枚举DeleteBehavior值起以下作用: 行为名称 对内存依赖项/子项影响 对数据库依赖项

3K20

02-EF Core笔记之保存数据

Core,除了独立模型,还有与模型关联数据,这部分数据通过独立模型添加到模型,在SaveChanges时将会持久化到数据库。...Blog引用设置null即可,此时EF Core将判断是否必须关系,如果必须关系,则从数据库删除Post对象,如果非必须关系,则将数据库对应设置null。...级联删除 级联删除是数据库概念,意思是当主体被删除时,所有依赖该主体项(通过关联)也会被自动删除。...EF Core对于提供了更细粒度管理,它允许我们定义删除行为,来控制依赖关系被移除时,如何处理关系实体。...除此之外,如果实体使用自动生成主键,EF Core则可以通过判断主键是否默认值(null、0)来判断是新增或更新。

1.7K40

EntityFramework Core 学习扫盲

主键 默认情况下,EF CORE会将实体命名为Id或者[TypeName]Id属性映射数据库表主键。当然有些开发者不喜欢将主键命名为Id,EF CORE也提供了两种方式进行主键相关设置。...备用 Alternate Keys是EF CORE引入新功能,EF 6.X版本并没有此功能。备用可以用作实体除主键和索引唯一标识符,还可以用作目标。...在Fluent Api,有两种方法可以指定备用,一种是当开发者将实体属性作为另一个实体目标,另一种是手动指定。EF CORE默认约束是前者。...进一步说,如果属性是整数或是Guid类型,那么该属性将会被EF CORE设置自动生成。这是EF CORE语法糖之一。 那由用户手动设置呢?...备用 备用在之前小节已经提过,使用以下代码配置列将自动设置唯一标识列。

9.5K90

01-EF Core笔记之创建模型

使用EF Core第一步是创建数据模型,模型建好,下班走早。EF Core本身已经设置了一系列约定来帮我们快速创建模型,例如表名、主键字段等,毕竟约定大于配置嘛。...modelBuilder.Entity() .Property("LastUpdated"); 阴影属性 阴影属性指的是在实体未定义属性,而在EF Core模型实体类型定义属性...,显然无论在Blog或Tag定义都不合适,此时就需要一张关系表来进行关联,这张表就是BlogTag表。...仅支持该模式 TPT(table-per-type ):基类和子类不在同一个表,子类对应仅包含基类表主键和基类扩展字段,目前EF Core不支持该模式 TPC(table-per-concrete-type...):基类和子类不在同一个表,子类包含基类所有字段,目前EF Core不支持该模式 EF Core仅支持TPH模式,基类和子类数据将存储在同一个表

3K20

EF Core 导航属性配置

在上一篇,大概介绍了Entity Framework Core关于关系映射逻辑。在上一篇留下了EF映射没有说,也就是一对一,一对多,多对一,多对多关系等。...,现在EF只在SingleModel表中生成了一个关系,在检索SingleTargetModel时候,EF会从SingleModel表检索对应关系,并引入进来。...EF Core取消了在映射关系配置中间表功能,所以在EF Core需要一个中间表: public class ManyToManyModelA { public int Id { get...在EF 6 中间表可以仅存在于关系,但是在EF Core3 还没有这个支持。也就是当前文章使用版本。 5. 附加 在EF约束,导航属性是默认可空。...未完待续 照例未完待续,下一篇将为大家介绍一下EF Core 在开发用法。

3K20

C# 数据操作系列 - 6 EF Core 配置映射关系

EF Core 入门》篇,我们简单通过两个类演示了一下EF增删改查等功能。细心小伙伴可能看了生成DDL SQL 语句,在里面发现了些端倪。没看小伙伴也不急,这就贴出来。...对于其他属性,EF会自动按照同名形式映射到数据表。 对于,如果在类里添加了引用类型,而这个引用类型也在EF上下文中,EF会把这种属性称为导航属性。...EF一旦在类里检索到了导航属性,就会去寻找对应EF会认为 属性名+Id或者类名+Id 可能是属性,如果找到名称一致且类型与导航属性目标类主键类型一致,则认为是。...如果类型不一致,EF则认为该类设置有误。如果没找到符合名称要求属性,EF会自己添加一个属性。 对于一对一,EF要求导航属性双方都应该具有配置。 一对多,EF要求多一方设置。...总结 在这一篇领着大家看了一下EF Core对于映射关系这一部分内容,我留下了相关FluentAPI介绍,我打算在下一篇介绍。因为这部分内容比较麻烦,而且使用率也相当高。

2.7K21

张高兴 Entity Framework Core 即学即用:(一)创建第一个 EF Core 应用

通过本文你可以学到: 使用 Database First 方式生成实体类; 熟悉实体 EF Core Attribute; 查询一张表数据; 使用 Docker 拉取镜像。...控制台应用,用于实践 EF Core 有关操作;Pandemic.Models 类库,用于提供数据库上下文和实体类。...执行 Scaffold-DbContext 命令报错时,请将 Pandemic.Models 设为启动项目,并且将“程序包管理器控制台”“默认项目”也设置 Pandemic.Models。...实体属性 每一个实体类都有一组属性,EF Core 会将实体属性映射到数据库表列。 表映射 对数据库表进行映射,使用 Table() Attribute。...在设置导航属性之前,首先需要理清楚医院和医生存在着怎样数量关系,医生是医院附属,一家医院下面会有多名医生,因此医院和医生之间是一对多关系。为了方便理解,下面只保留主键、和导航属性。

2.4K10

Entity Framework Core 2.0 新特性

ef core 2.0 ,我们将自定义DbContext类型注册到DbContextPool服务,可让该数据库上下文类型实例重复使用。...六.表拆分(Table splitting)   现在可以将两个或多个实体类型映射到同一表,其中主键列将被共享,每一行对应两个或多个实体。   ...要使用表拆分,必须在共享表所有实体类型之间配置标识关系(属性构成主键) 示例代码: 1 modelBuilder.Entity() 2 .HasOne(e => e.Details...目前只支持标量函数 EF Core迁移将不负责创建它,您必须在数据库创建映射函数 九.code first 实体配置   在EF6可以通过 EntityTypeConfiguraiton 封装特定实体类型配置代码...,在EF Core2.0,这个特性回来了(EF Core 之前 core版本不支持)。

1.9K50

EF Core 入门

可以延迟加载需要数据,引用属性、查询结果等 丰富映射关系,支持一对一,一对多,多对多,甚至继承、单表多实例等 可以使用Linq 进行查询 非Core可以通过数据库表生成实体类,两种都可以通过实体类生成表...因为EF更多是基于.NET Framework开发,所以微软以EF基础针对.net core做了一定修改,然后EF Core诞生了。可以说EF Core是专门.net core开发。...这是EF Core保留迁移记录,以便下次使用。 如果项目根目录里没有 blogging.db 这个SQLite文件的话,会自动创建该文件,同时设置好表;如果有,但不是SQLite文件,则会报错。...使用工具连接到blogging.db数据库,可以看到 EF自动生成两个实体类对应表DDL: CREATE TABLE "ModelBs" ( "Id" INTEGER NOT NULL CONSTRAINT...,到目前为止EF Core可以满足了入门开发。

2.4K10

EF 约定介绍

当前环境EF Code First开发模式 一、EF默认约定 1、常用约定 (1)、当没有显示指定实体主键时候,EF会默认将长得最像Id属性(且类型GUID)设为主键 (2)、设计实体时,当一个实体包含一个集合属性...,该集合属性里面的元素是另一个实体时,则默认未一对多关系,即使没有显示指定一对多关系,EF会默认设置主外(主从)关系 (3)、一对一实体关系,需要手动设置主从关系 (4)、多对多无载荷关系实体...除了导航属性规定实体关系,属性来式规定实体间方式一种手段.Code First能够推断以下命名属性(优先级从上到下): (1)、导航属性名+关联实体主键名 (2)、关联实体实体名+...关联实体主键名 (3)、关联实体主键名 注: (1)、当关系被检测到,Code First会根据可空性来推断关系具体形式;如果属性是可空,那么关系会被设置可选,否则,关系就是必选.... (2)、当关联实体属性被设置不为空,Code First会设置级联删除,反之不会。

1.6K100

计算机二级excel设置宏,Excel2013宏指定快捷方法

其实,在Office2013/” target=”_blank”>Office 2013应用程序,使用快捷是一种快速执行命令方法,如,在选择对象后按“Ctrl+C”可以快速执行对象复制操作,按...“Ctrl+V”可以快速执行对象粘贴操作。...实际上,对于录制宏,同样可以通过指定快捷来方便其执行,下面以在Excel 2013宏添加快捷例来介绍宏指定快捷具体操作方法。...2、打开“宏选项”对话框,此时插入点光标放置在对话框“快捷”文本框。在键盘上输入字母或符号,这里输入“m”,则“Ctrl+m”即被定义快捷,如图2所示。...最后单击“确定”按钮关闭对话框完成快捷设置。 小编结语:其实,计算机二级知识需要我们去积累,然后到考场上才可以用上,希望大家能够好好学习这一些知识。

90430

关于EF Code First模式不同建模方式对建表产生影响

今天在学EF Code First模式时候,发现几个很有趣问题,问题如下: 1、当编写玩实体后,不指定任何主键约束,EF会找长最像Id,然后设置其为主键,验证代码如下: //User类...结论:发现EF在我没有指定那个是主键情况下,将UserId设为了主键 2、当一个实体中有两个带Id字段,EF会将最像Id设为主键,优先级  Id>UserId>UserId_Id class User...EF将Id设为了主键,UserId和UserId_Id优先级自行验证. 3、关于问题,当在实体中加入导航属性,EF生成可能会当前实体其他字段影响.验证代码如下: class PhotoInfo...EF生成了一个User_Id属性,关联User表 下面修改PhotoInfo实体,代码如下: class PhotoInfo { public Guid Id {...EF不再自动生成字段,而是将UserId属性设为了. 以上都是我测试出来关于EF默认行为,比较片面,欢迎指正.

94660

Entity Framework Core 2.1,添加种子数据

EFCore 2.1出来有一段时间了,里面的新功能还没怎么用,今天研究下如何使用EF Core 2.1添加种子数据。...这部分官方文档地址是:https://docs.microsoft.com/en-us/ef/core/modeling/data-seeding 我们在开发时总是需要添加一些种子数据,所以这个功能还是比较有用...看红线那两句话,EFCore在执行过程临时更改了设置,可以插入主键值,然后又禁用了插入主键。 数据库里面的数据 ?...我必须单独添加City种子数据,并且设置。 所以正确做法是: ? 这次Add-Migration没有报错,迁移也成功了,看一下最后数据: ?...OK 如果无法在Model里设置主键/ 有时,我们在主从关系Model里不明确定义;有时候我们Model主键是private set; 这时我们就无法在HasData里设置主键/值了

1.6K10
领券