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

C# SqlSugar框架学习使用(五)-- 更新和删除数据详细用法

前言 上一篇《C# SqlSugar框架学习使用(四)-- 插入数据详细用法》我们已经把SqlSugar插入多种用法实现了,这篇我们就来说说更新数据和删除数据多种用法。...我们就用上一篇数据POSTemp进行操作。 更新和删除里面大部分用法与插入方式差不多,所以我们这里不全部举例了,把一些不同重点做一下。...数据更新 SqlSugar更新分为2大类写法,1种是传实体对象方式 这种是以实体对象为核心进行更新,不传实体对象这种是以表达式为核心进行更新。...//传实体对象写法(支持批量对象) db.Updateable(updateObj) //不传实体对象写法 db.Updateable() 传对象用法 ---- 根据实体更新(主键要有值,...---- 联更新 ?

11.6K60

怎么直接对展开数据进行筛选操作?含函数嵌套使用易错点。

小勤:Power Query里,怎么对表中表数据进行筛选啊? 大海:你想怎么筛选? 小勤:比如说我只要下面每个表里单价大于10部分: 大海:这么标准数据和需求,直接展开再筛选就是了啊。...小勤:能在不展开数据情况下筛选吗?因为有时候筛选不会这么简单啊。 大海:当然是可以。...因为你可以通过(Table)相关函数分别针对每一个进行,比如筛选行可以用Table.SelectRows,筛选列可以用Table.SelectColumns……可以非常灵活地组合使用。...小勤:外面这个?Table.SelectRows不是引用了“订单明细”那一列里每个吗? 大海:嗯。...大海:关于each以及函数嵌套参数用法的确是Power Query进阶一个比较难理解点,后面可能需要结合更多例子来训练。 小勤:好。我先理解一下这个。

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

Linq2Sql数据实体外部更新时“不能添加其键已在使用实体解决办法

Linq to Sql,如果我们想在DataContext外部修改一个实体值,然后把引用传入到DataContext,再利用Attach附加后更新,代码如下: public static void...try     {         db.myData.Attach(_pDate, db.myData.Single(c => c.ID == _pDate.ID));//将会出异常:“不能添加其键已在使用实体...myData _pDate = new myData() { ID = 1, IP = "127.0.0.1" }; UpdateMyTable(_pData); 运行时,会抛出异常:不能添加其键已在使用实体...原因我就不分析了,个人理解大致意思就是外部对象跟DataContext上下文没关联,而Attach又不成功,所以当然也就更新不了....这种方法当然是可行,但是有点笨,这种不应该由人来干傻活儿最好由电脑来完成(见下面的方法) 2.利用反射自动复制属性 先写一个方法,利用反射获取属性信息实现自动copy属性值 public static

1.8K50

使用tp框架和SQL语句查询数据某字段包含某值

有时我们需要查询某个字段是否包含某值时,通常用like进行模糊查询,但对于一些要求比较准确查询时(例如:微信公众号关键字回复匹配查询)就需要用到MySQL find_in_set()函数; 以下是用...find_in_set()函数写sq查询l语句示例: $keyword = '你好'; $sql = "select * from table_name where find_in_set('"....$keyword"',msg_keyword) and msg_active = 1"; 以下是在tp框架使用find_in_set()函数查询示例: $keyword = '你好'; $where...数据关键字要以英文“,”分隔; 2.存储数据要对分隔符进行处理,保证以英文“,”分隔关键字。...以上这篇使用tp框架和SQL语句查询数据某字段包含某值就是小编分享给大家全部内容了,希望能给大家一个参考。

7.3K31

C# 数据操作系列 - 14 深入探索SqlSugar

花式映射 在实际开发,程序实体类和数据名并不能完全一致,造成原因有很多,例如说团队对数据命名和对程序命名有着不同要求,数据库是先建立而程序是后开发,又或者是程序只使用数据库中一部分等等...这时候就会与C#约定优于配置相违背,但是这也符合C#设计哲学,因为配置也是C#一部分。我们该如何从实际角度来完成实体类之间关系建立呢?...{ get; set; }// 列数据类型,填SQL 数据类型 public string OldColumnName { get; set; }// 当做了更新之后,用来生成数据库用,此处填写原列名...通过SugarClient设置数据动态配置: Client.MappingTables.Add 方法有: public void Add(string entityName, string dbTableName...EntityName); publiv void Add(IgnoreColumn col); 1.3 As 别名模式 SqlSugar在增删改查时候,为数据实体添加了别名处理,使用方法As(string

1.8K30

C# 数据操作系列 - 5. EF Core 入门

0.前言 上一章简单介绍了一下ORM框架,并手写了一个类似ORM工具类。这一章将介绍一个在C#世界里大名鼎鼎ORM框架——Entity FrameworkCore版。...Entity Framework 非Core版目前已经更新到了6代,这是一款经过检验ORM框架。...C#设计理念是约定优于配置,意思就是通过一定程度规范性格式化写法来避免使用配置文件或者配置代码等。而EF可以说是很好诠释了这个理念。...可以延迟加载需要数据,外键引用属性、查询结果等 丰富映射关系,支持一对一,一对多,多对多,甚至继承、单多实例等 可以使用Linq 进行查询 非Core版可以通过数据生成实体类,两种都可以通过实体类生成...使用工具连接到blogging.db数据库,可以看到 EF自动生成两个实体类对应DDL: CREATE TABLE "ModelBs" ( "Id" INTEGER NOT NULL CONSTRAINT

2.3K10

EF Core关系配置

只能单查询,不能使用Join语句进行关联查询。但是可以在查询后面使用Include()来进行关联数据获取。...执行SaveChanges()等方法时,EF Core将会把存储快照值与实体的当前值进行比较。...未改变(Unchanged):DbContext正在跟踪此实体,该实体存在于数据,其属性值和从数据读取到值一致,未发生改变。...) 更新数据库; “已删除”实体,SaveChanges() 从数据库删除; 查看实体状态: 使用DbContextEntry()方法来获得实体在EF Core跟踪信息对象EntityEntry...DbContext会根据跟踪实体状态,在SaveChanges()时候,根据实体状态不同,生成Update、Delete、Insert等SQL语句,来把内存实体变化更新数据

7210

CSharpEntityFramework与CodeFirst实践

无论怎样,我们作为开发都要与数据进行打交道,来回切换关注东西,还要注意数据建立对不对,数据类型对不对等等。好在c#中有了EF这样强大框架以及Code First思想。...之后我们再次使用update-database命令将变更更新数据,得到当前数据库内容: 此时我们将book填充一些数据: 然后,我们将DbContextDbSet属性删除,再次进行迁移...: 进行更新以后,我们可以看到Ebook已经删除了,但是book内容没有发生任何变化: 变更属性 有的时候,我们可能很少会将实体类,更多是对现有实体类中进行属性增加、删除以及修改,变相,...对数据字段进行增加、删除和修改: 增加属性 现在,我们想要将Book实体增加一个Abstract摘要属性,它会影响我们上面我们已有的数据吗?...其实我们首先知道,在进行Update-database时候,EF框架会执行Up方法,同时,AddColumn、DropColumn很显然是DbMigration这个类方法,我们找一找看有没有重命名方法

22510

金三银四面试:C#.NET面试题中高级篇5-Linq和EF

实体框架EF是http://ADO.NET一组支持开发面向数据软件应用程序技术,是微软一个ORM框架。...ORM指的是面向对象对象模型和关系型数据数据结构之间互相转换。 (实体之间相互转换) ORM框架有很多,EF框架是ORM框架其中一种,是实现了ORM思想框架。...提升从数据数据速度,可以参考以下几种方法: 1).在数据定义合适索引和键 2).只获得你需要列(使用ViewModel或者改进查询)和行(使用IQueryable)...LINQPad支持使用SQL或C#语句(点标记或查询表达式)进行查询。...12.请说明EF映射实体对象几种状态? Detached:该实体由上下文跟踪。

4K30

EntityFramework 外键值映射

使用实体框架后,主要就是利用LINQ进行一些集合操作,这些LINQ操作虽然有点难度,不过学习清楚了,处理起来也是比较方便。...解决方法如下所示: 这个问题解决方法C#代码 DateTime类型字段在作为参数传入到数据库前记得赋值,并且日期要大于1753年1月1日。...修改数据库中表字段类型,将datetime类型修改为datetime2类型 例如,我在实体框架里面,对用户日期类型字段进行初始化,这样就能保证我存储数据时候,默认值是不会有问题。...不过由于实体框架里面,实体类避免耦合原因,我们引入了DTO概念,并使用了AutoMapper组件进行了Entity与DTO相互映射,具体介绍可以参考《Entity Framework 实体框架形成之旅...在实体框架界面层查询,我们也不在使用部分SQL条件做法了,采用更加安全基于DTOLINQ表达式进行封装,最后传递给后台也就是一个LINQ对象(非传统方式实体LINQ,那样在分布式处理中会出错

4.1K50

.NET EF Core(Entity Framework Core)

关系数据库只是盛放模型数据一个媒介而已,理想状态下,程序员不用关心数据操作。 根据对象定义变化,自动更新数据以及结构操作,叫做Migration(迁移)。...:Add-Migration InitialCreate,会自动在项目的Migrations文件夹中生成操作数据C#代码。...“程序包管理器控制台”执行Update-database 4、查看一下数据库,建好了 反向工程 1、根据数据来反向生成实体类 2、Scaffold-DbContext 'Server=....但是通过C#代码修改Books数据只是修改了内存数据。...总结:如果有一个确定字段要被进行并发控制,那么使用IsConcurrencyToken()把这个字段设置为并发令牌即可;如果无法确定一个唯一并发令牌列,那么就可以引入一个额外属性设置为并发令牌,并且在每次更新数据时候

10011

盘点 .NET 比较流行开源ORM框架

初期开发过程吸取了NBear与MySoft一些精华并加入新思想,之后参考EF Lambda语法进行大量扩展。 经过数十个版本更新迭代发布全新v2.0版本,支持动态列/、分库/分等。...开发人员使用Linq语言,对数据库操作如同操作object对象一样省事。 EF有三种使用场景: 1、从数据库生成Class。 2、由实体类生成数据结构。...您查询由 C# 编译器检查并允许轻松重构。 但是,它不像 LINQ to SQL 或实体框架那么重。...(又名异步)(V6) 与严格修饰 POCO 或归属几乎 POCO 一起使用。 易于配置,包括开箱即用流畅配置。...插入/删除/更新/保存和 IsNew 辅助方法 分页请求会自动计算出总记录数并获取特定页面。 简单交易支持。 更好参数替换支持,包括从对象属性获取命名参数。

3.9K41

.net 温故知新:【10】.NET ORM框架EFCore使用入门之CodeFirs、DBFirst

目的在于通过要点梳理最后串联起整个跨平台框架。之前几篇算是把框架重要设计和框架重要知识点复习了,当然什么系统都可能使用到ORM框架。...使用该atrribute确定迁移应用于哪个上下文。 由于这是项目的第一次迁移,如果我们修改了模型后再Add-Migration生成时候EFCore 会在添加列之前将更新模型与旧模型快照进行比较。...生成sqlite数据库如图,因为我们定义了Student、Course实体,所以会生成两个以及字段,同时还会生成一个历史,用于记录我们每次迁移记录。...同时我们查询学生的话理论上也能查出学生拥有的课程,接下来我们向数据插入数据进行查询。...AsNoTracking使用,EFCore默认会跟踪实体,也就是保存在内存,用于更新删除等操作。如果只是查询数据而不用跟踪则使用AsNoTracking查询。 并发控制。 .....

2.5K30

使用ORM框架,必须迁就数据设计吗?

--由于PDF.NET框架是在实际商业产品应用,所以维护一直在进行,功能扩展和Bug修复一直在进行; (3)ORM框架众多,lz产品优势在哪里?定位简单还是功能强大?...--正因为有不同数据方言问题,所以框架使用SQL-MAP技术,将那些需要高效执行数据库特性SQL单独写到配置文件,当需要切换数据时候, 仅仅替换这个SQL配置文件即可(SQL-MAP配置文件...--框架提供了从数据库来生成实体工具,但也允许你先ModelFirst、CodeFirst,我许多示例(比如示例操作OQL部分)都是直接创建实体类, 没有设计数据,如果采用手工方式,你可以自定义要持久化哪些属性以及如何持久化...; 使用这种CodeFirst方式,最后根据需要来持久化实体类,就不需要迁就数据设计了。...在系统实现,有关数据导入和导出,采用实体类很好屏蔽了数据差异,比如目标和源表字段名称和数量不一致问题。

2.1K90

k3cloud开发实例

IDynamicFormModel提供主要是针对数据进行操作系列方法,包括:初始化、新增表单数据、复制数据、删除数据、定位当前分录数据行、设置值等方法。...字段值设置优先考虑使用IDE进行实体服务规则配置。 该事件通常用于新增分录后对数据进行判断处理。...通常处理有两个:  数据校验;  计算和更新数据; 在BOS平台当客户端发起请求,到web服务器后,领域模型框架调用运行时,加载插件运行。用户执行操作时,运行时调用操作服务进行数据模型操作。...而插件调用服务也是先向服务框架请求服务。 通常应用都是在业务保存前进行数据校验,校验通过后,调用保存服务保存,在大多数系统中都是这样应用。...OnPrepareOperationServiceOption通过此事件,通知插件进行选项设置 OnPreparePropertys准备操作对象实体属性事件,在此事件可以将校验过程需要属性对应Key

4K11

Titan Framework MongoDB深入理解2

add()方法是该类内插入数据方法,基础使用方式参数为名以及一个泛型类型,框架会将名作为mongo存储名字,而泛型类型会通过转换器转换为一个mongo节点类型进行存储。...add()拥有一个重载方法,参数为名和一个list类型,规定需要指明list泛型类型,框架会将该list中所有的对象根据该类型转化为mongo节点进行存储。...delete()方法是该类内删除数据方法,基础使用方式参数为名和一个泛型类型,框架会查找名所对应数据,并将泛型类型对象通过转换器转换为mongo节点对象,删除数据中和该mongo节点对象相同数据...delete()有一个重载方法,参数为名和唯一主键ID,这个唯一主键就是我们上边提到框架持久化类自动生成ID,在调用该方法后,框架会查找ID相同数据进行删除。...),该方法会将泛型类型转换为mongo节点类型,并查找是否存在该数据,返回查找到条数;而后者可以使用方法重载方法,参数为一个MongoDBQueryCondition类型,该类型是框架一个条件类型

61140

【ASP.NET Core 基础知识】--数据库连接--数据迁移和代码优先开发

(entity); context.SaveChanges(); } 使用迁移更新数据库: 当您更改DbContext或实体类时,可以使用迁移来更新数据库结构。...以下是结合数据迁移和代码优先开发步骤: 设计数据库模型: 在代码优先方法,首先设计实体类和数据库模型。 使用 C# 或 VB.NET 等编程语言定义实体类,并考虑实体之间关系。...编写代码: 在应用程序编写使用数据库上下文代码,例如添加、查询、更新和删除数据。...编写代码来使用: 在 C# 代码更新数据库上下文以包含新,并编写代码来插入和查询评论。 测试迁移: 运行应用程序并进行测试,确保评论可以正确地添加到数据库,并且可以正确地查询。...以下是一个使用 Entity Framework Core 简单实例: 代码优先设计数据库模型: 创建实体类来表示数据

5900

DataSet灵活,实体方便,DTO效率:SOD框架数据容器,打造最适合DDDORM框架

假设某个有50个字段,这样大在很多复杂系统是很常见,于是MAP出来Entity或者DTO,也有50个属性,而我这次仅需要使用其中2个属性值,于是,这个对象上 48个属性数据都浪费了。...,增大数据传输量,因此,我一般都是建议在WCF,WebService 服务方法使用DTO对象,而不是SOD实体类。...而传输这个默认值0 并没有意义,并且有可能让服务后段ORM代码将这个 0 更新数据,这就是数据更新容易。...有时候,我们希望只更新已经改变数据,没有改变数据更新,那么此时WCF等服务端方法,采用DTO对象就无法做到了。... GetChangedValues 方法,这样序列化时候就只序列化了修改过数据了,并且反序列化之后,数据也还原了之前“修改状态”,拿这样实体类去更新数据库,就不会出现“数据更新冗余”了。

2.7K90

.Net反射(序章) - Part.1

所以,我们先来看一个开发中常遇到问题,再看看如何利用反射来解决: 在进行数据库设计过程,常常会建立一些基础信息,比如说:全国城市,又或者订单状态。...在应用程序,也不会给用户提供对这个表记录增删改操作界面。 而在程序调用这个时,经常是这种情况:我们需要根据预订状态对订单列表进行筛选。...此时,我们应该已经发现问题: 如果我们还有航班预订、游船预订,或者其他一些状态,我们需要在数据创建很多类似的小,造成数据数目过多。...我们使用DropDownList等控件获取内容时,需要连接到数据进行查询,潜在地影响性能。 同时,我们也注意到三点: 此一般会在数据库联合查询中使用到。...我们先看它解决了什么:上面提到问题1、问题2都解决了,既不需要在数据创建,又无需连接到数据进行查询。

1.2K40
领券