草庐IT

Ef Core花里胡哨系列(1) SafeDelete、ReadOnly、Audit 安全删除、只读、审计等

EfCore花里胡哨系列(1)SafeDelete、ReadOnly、Audit安全删除、只读、审计等在软件设计中,软删除是一种常见的数据管理技术,用于标记和隐藏被删除的数据,而不是永久地从数据库中删除它们。软删除通常通过在数据表中添加一个额外的标志列(例如"IsDeleted")来实现。当数据被删除时,该标志列被设置为指示删除状态的值(通常是true或1),而不是直接从数据库中删除数据记录。使用软删除的主要原因是保留数据的完整性和可追溯性。通过软删除,我们可以避免永久删除数据,从而避免意外或不可逆的数据丢失。软删除还可以帮助我们满足法律、合规性或审计要求,因为我们可以跟踪和记录数据的删除历史

Ef Core花里胡哨系列(1) SafeDelete、ReadOnly、Audit 安全删除、只读、审计等

EfCore花里胡哨系列(1)SafeDelete、ReadOnly、Audit安全删除、只读、审计等在软件设计中,软删除是一种常见的数据管理技术,用于标记和隐藏被删除的数据,而不是永久地从数据库中删除它们。软删除通常通过在数据表中添加一个额外的标志列(例如"IsDeleted")来实现。当数据被删除时,该标志列被设置为指示删除状态的值(通常是true或1),而不是直接从数据库中删除数据记录。使用软删除的主要原因是保留数据的完整性和可追溯性。通过软删除,我们可以避免永久删除数据,从而避免意外或不可逆的数据丢失。软删除还可以帮助我们满足法律、合规性或审计要求,因为我们可以跟踪和记录数据的删除历史

EF Core入门

文章目录前言一、EFCore环境搭建二、基本的增删改查1.增加数据2.查询数据3.修改数据,删除数据前言EFCore是微软官方提供的ORM框架。EFCore不仅可以操作MicrosoftSQLServer、MySQL、Oracle、PostgreSQL等数据库,而且可以操作AzureCosmosDB等NoSQL数据库一、EFCore环境搭建前提条件:已经完整安装了MicrosoftSQLServer下面是一个实际操作EFCore的演示这是项目最终的目录,这里需要关注的就是.cs文件首先新建一个.NETCore控制台项目,然后在项目中创建Book实体类publicclassBook{public

我该如何仅在不丢失EF Core 2.0中的外键的情况下读取依赖实体?

我正在尝试使Blogid和Blog仅阅读,而不会将Blogid作为外键。如何在EFCore2.0中实现这一目标?publicclassBlog{publicintId{get;set;}publicstringUrl{get;set;}}publicclassPost{publicintId{get;set;}publicstringTitle{get;set;}publicstringContent{get;set;}privateint_blogId;publicintBlogId=>_blogId;//Iwantthisentitytoberead-onlywithoutloosethe

从数据库EF6更新模型

跟随我旧问题我用过的SQL服务器和实体框架。与初始阶段一样,我设置了地址id由于数据库中的无效,我也创建了一个参数用户id在地址字段中,也不是不可归的。现在,我被卡住了,因为其中之一需要首先创建。所以我设定了userid字段作为DB中的允许null,并尝试从数据库更新模型,但会引发错误严重性代码描述项目文件行抑制状态错误运行转换:多重性在关系中的“用户”fk_addresses_areas1'中无效。因为因角色中的所有属性都是无效的,所以主角色的多重性必须为“0..1”。LightMapC:\User\Rohit\Documents\VisualStudio2015\Projects\Ligh

EF Core 在实际开发中,如何分层?

前言:什么是分层?分层就是将EFCore放在单独的项目中,其它项目如Asp.netcorewebapi项目引用它这样的好处是解耦和项目职责的清晰划分,并且可以重用EFCore项目但是也会数据库迁移变得复杂起来Stepbystep步骤创建一个.NET类库项目,项目名字为BooksEFCore引用以下Nuget包Microsoft.EntityFrameworkCore.RelationalMicrosoft.EntityFrameworkCore.SqlServerMicrosoft.EntityFrameworkCore.Tools创建实体类Book//把Book类声明为一个记录类,而不是普通

Net Core中使用EF Core连接Mysql数据库

EntityFrameworkCore的前身是微软提供并主推的ORM框架,简称EF,其底层是对ADO.NET的封装。EF支持SQLServer、MYSQL、Oracle、Sqlite等所有主流数据库。首先是使用时的几个模式的整理及其理解:CodeFirst:根据代码自动创建数据库表结构甚至是数据库,可以支持多库开发,代码较少冗余,由于会自动更改数据库,如果有在实体类中自定义了字段,不希望在数据库中创建此字段(有时偷懒,不想定义ViewModel会这样做),还需要自己实现单独的生成代码。这就复杂了。DBFirst:根据现有的数据库结构生成模型类或实体类,这种适合数据库结构比较稳定的产品,数据库结

在VSTS版本上运行EF迁移

当我使用VSTS和托管的VS2017代理发布我的ASP.NETMVC应用程序将其发布到AzureWeb应用程序时,EF迁移(到AzureSQL)在应用程序上未执行的启动方式与可以通过选项从VisualStudio发布的方式启动相同“执行代码第一迁移(在应用程序启动时运行)”。VST上的特定步骤是如何使EF迁移运行并以与从VS发布时相同的方式更新数据库?看答案可以让VST使用与VS中相同的发布配置文件,在我的情况下,这是AzureWeb应用程序的Web部署过程,并包括在应用程序启动时运行迁移的选项。在VSTS构建定义,变量选项卡中,添加以下条目:DeployonBuild:正确PublishPr

Ef Core花里胡哨系列(9) 阴影属性,有用还是没用?

EfCore花里胡哨系列(9)阴影属性,有用还是没用?EfCore中提供了一些有趣的实现,例如阴影属性!虽然大部分时候我还没有遇到应用场景,但是不妨碍我们了解一下。阴影属性是EFCore中的一个特性,它允许你在模型中定义一个属性,但是这个属性并不在对应的CLR类中。阴影属性只存在于EFCore的模型中,你可以在查询和保存数据时使用它,但是你不能直接在你的实体类中访问它。阴影属性通常用于模型和数据库中存在但在实体类中不存在的字段。例如,你可能有一个"LastUpdated"的字段在数据库中,但你并不想在你的实体类中添加这个字段。在这种情况下,你可以使用阴影属性。通常Json列我可能会用一下第二种

Ef Core花里胡哨系列(10) 动态起来的 DbContext

EfCore花里胡哨系列(10)动态起来的DbContext我们知道,DbContext有两种托管方式,一种是AddDbContext和AddDbContextFactory,但是呢他们各有优劣,例如工厂模式下性能更好呀等等。那么,我们能否自己托管DbContext呢?GithubDemo:动态起来的DbContext场景:结合我们之前的文章[EfCore花里胡哨系列(5)动态修改追踪的实体、动态查询]假设一个应用内有很多的子应用,且都需要更新追踪的动态实体,那么很多表在重置OnModelCreating的时候将会非常的慢。主要体现在modelBuilder.Model.AddEntityTy