[TOC]批量插入自动生成雪花id返回雪花id直接使用var db = _trainingSubProgramRepository.Context;
var ids = await db.Insertable(certificateUserList).ExecuteReturnSnowflakeIdListAsync();
使用仓储的List<long> result = await _certificateUserRepository.InsertReturnSnowflakeIdAsync(certificate...
2025-10-16
浏览(1415)
功能介绍 (需要版本5.0.45)大数据操作ORM性能瓶颈在实体转换上面,并且不能使用常规的Sql去实现当列越多转换越慢,SqlSugar将转换性能做到极致,并且采用数据库最佳API操作数据库达到极限性能
功能用法BulkCopy 性能远强于现有市场的 ORM框架,比 EFCore Efcore.Bulkextension 快30%BulkUpdate 吊打现有所有框架 ...
2023-06-15
浏览(5175)
[TOC]导航属性导航属性是作为.NET ORM核心功能中的核心,在SqlSugar没有支持导航属性前,都说只是一个高级DbHelper, 经过3年的SqlSugar重构已经拥有了一套非常成熟的导航属性体系,本文不是重点讲SqlSugar而是重点讲导航属性的作用,让更多写Sql人还未使用ORM的人了解到ORM的作用。
1.复杂的查询过滤用户根据权限...
2023-06-14
浏览(4913)
如果出现错误:The connection is already in a transaction and cannot participate in another transaction.可以进行一下判断
var transaction = Database.CurrentTransaction ?? Database.BeginTransaction()
Try to use this helper function for creating a new transaction:
public CommittableTransacti...
2023-02-24
浏览(5596)
https://blog.csdn.net/m0_47659279/article/details/119929767
https://www.cnblogs.com/yaopengfei/p/7748221.html
https://www.cnblogs.com/yaopengfei/p/11387935.html
2022-10-08
浏览(5108)
代码如下:
public int AddNoteAndNoteMarkDown(MyNoteFile myNoteFile, MyNoteMarkDown myNoteMarkDown)
{
using (var transaction = _cnBlogContext.Database.BeginTransaction())
{
try
{
_cnBlogContext.MyNoteFi...
2022-03-03
浏览(6204)
使用EF报错:无法为具有固定名称“System.Data.SqlClient”的 ADO.NET 提供程序加载在应用程序配置文件中注册的实体框架提供程序类型“System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer”。
启动项目没有添加ef相关的库添加即可:
2021-10-12
浏览(7363)
一:把ef添加到新的一层二:把链接字符串和ef的相关配置拷贝到启动项目的配置文件中去就是把这一对拷贝到启动项目项目的Web.config中去,复制的时候要注意顺序,直接放到最上面去吧做好这一步直接运行还会报错,应该启动项目还需要添加ef的依赖。无法为具有固定名称“System.Data.SqlClient”的 ADO.NET 提供程序加...
2021-10-12
浏览(7412)
一:直接利用导航属性生成外键DBFIrst是外键生成的导航属性,反过来如果用code first可以根据导航属性来生成外键
缺点:不是很灵活,外键只在数据库有,模型里边没有,所以这种情况做添加的时候不能直接赋值,只能通过导航属性来间接添加外键(因为外键是通过导航属性维护的),做join查询的时候根本没法点出外键字...
2020-06-09
浏览(8575)
导航属性是一种表关联的表示,可以在查询单表的情况下,直接通过导航属性拿到对应关联表的值,可以极大地简化我们对多表查询的操作,甚至不用你去写join。导航属性做级联查询,方便是非常方便,但是用得不好会操作循环查询数据库,影响效率。避免级联查询循环操作数据通过关键字Include(“导航属性的名字”),会生...
2020-06-09
浏览(9817)
可以使用WillCascadeOnDelete即可protectedoverridevoidOnModelCreating(DbModelBuildermodelBuilder)
{
//关闭级联删除
modelBuilder.Entity<Pet>().HasRequired(a=>a.userinfo).WithMany(a=>a.pets).HasForeignKey(a=>a.UserId).WillCascadeOnDelete(false);
}
2020-06-09
浏览(7315)
code:protectedoverridevoidOnModelCreating(DbModelBuildermodelBuilder)
{
//删除掉级联删除的规则
modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
}
2020-06-09
浏览(7616)
code:protectedoverridevoidOnModelCreating(DbModelBuildermodelBuilder)
{
//删除掉默认添加的复数形式规则
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
2020-06-09
浏览(7413)
Enable-Migrations启用数据库迁移Enable-Migrations –EnableAutomaticMigrations 启动自动迁移Update-Database 更新到数据库Add-Migration needname 手动迁移(防止一些数据库丢失的情况,类似做一个日志,方便自己查看)
2020-06-09
浏览(7087)
[TOC]
方法1:直接执行更新的sql语句过于简单不说了
方法2:先查询在更新Users result = oapEntities.Users.Where(a => a.Id == users.Id).FirstOrDefault();
result.UserName = users.UserName;
result.Number = users.Number;
result.UClass = users.UClass;
result.CheckType = users.CheckType;
需要...
2020-05-16
浏览(8691)
[TOC]EF删除方法1:直接执行数据库int count = oapEntities.Database.ExecuteSqlCommand("delete from users where id=@userid", new SqlParameter("userid", userId));
需要自己去写sql语句
方法2:先查询数据库在删除1:先根据id查询需要删除的对象
Users users = oapEntities.Users.Where...
2020-05-13
浏览(10389)
;