首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏用户5447549的专栏

    在Parallel中使用DbSet.Add()发现的一系列多线程问题和解决过程

    其中1和2是出现最多的,而且所有异常都是出现在Add的时候,各种吃瓜表情~没办法,接着一一断点调试,还是没找出原因,出于进度考虑,换成了另一种方案,也就是用DbSet的AddRange方法。 先在Parallel中累加出一个实体List,然后一次性添加到DbSet中,代码演变为: List<MemberCard> list = new List<MemberCard> 于是想起昨天那个问题是否也是同样的问题,再上MSDN搜了一下DbContext类和DbSet类,都是这样说的: ? 接着就给dbcontext上了锁,测试,这次总算如我所料,完美运行。 List和DbSet是非线程安全的。 解决问题 最后在经过仔细测试验证和考虑项目实际需求(几乎不可能一次10000)后,去繁从简,回归原始,用最简单直白的写法单线程循环来完成。

    56140发布于 2020-04-27
  • 来自专栏EdisonTalk

    ASP.NET 6 使用工作单元操作 MongoDB

    protected readonly IMongoDbContext _dbContext; protected readonly IMongoCollection<TEntity> _dbSet Please set the attribute Table in your entity class."); _dbSet = mongoDbContext.GetCollection (expression); await _dbContext.AddCommandAsync(async (session) => await _dbSet.DeleteManyAsync Clear(); if (sort == null) return await _dbSet.WithReadPreference(readPreference Clear(); if (sort == null) return await _dbSet.WithReadPreference(readPreference

    66510编辑于 2023-07-21
  • 来自专栏技术博客

    Entity Framework 自动生成CodeFirst代码

    { get; set; } public DbSet<Order_Detail> Order_Details { get; set; } public DbSet<Order > Orders { get; set; } public DbSet<Product> Products { get; set; } public DbSet<Region > Regions { get; set; } public DbSet<Shipper> Shippers { get; set; } public DbSet<Supplier > Suppliers { get; set; } public DbSet<Territory> Territories { get; set; } public DbSet ; } public DbSet<Orders_Qry> Orders_Qries { get; set; } public DbSet<Product_Sales_for

    1K20发布于 2018-09-11
  • 来自专栏痴者工良

    .NET Core 使用 EF 出错的解决方法

    ApplicationDbContext(DbContextOptions options) : base(options) { } public virtual DbSet <User> Users { get; set; } public virtual DbSet<Role> Roles { get; set; } public virtual DbSet <Group> Groups { get; set; } public virtual DbSet<GroupRole> GroupRoles { get; set; } public virtual DbSet<Log> Logs { get; set; } public virtual DbSet<LogDetail> LogDetails { get; set; }

    3.1K30发布于 2019-08-08
  • 来自专栏喵叔's 专栏

    Entity Framework初体验

    set; } public float Float { get; set; } } 4.创建一个继承自EF上下文的类,此上下文是与数据库交互的一个中间桥梁,我们可以称之为会话,并且为每一个模型公开一个DbSet : public class EfDbContext : DbContext { public EfDbContext() { } public DbSet<Blog> Blogs { get; set; } } 注:上下文派生类中定义DbSet有如下三种方式: //用DbSet属性 public class EfDbContext : DbContext { public EfDbContext() { } public DbSet<Blog> Blogs { get; set; } } //用IDbSet属性 public class EfDbContext public IDbSet<Blog> Blogs { get; set; } } //只读属性 public class EfDbContext : DbContext { public DbSet

    67100发布于 2020-09-08
  • 来自专栏逸鹏说道

    Mysql 该如何 Entity Framework 数据库迁移 和 如何更好的支持EF.Extended

    { Database.SetInitializer<ClinicSystemContext>(null); } public DbSet <User> Users { set; get; } public DbSet<Charge> Charges { set; get; } public DbSet <ChargeItem> ChargeItems { set; get; } public DbSet<Clinic> Clinics { set; get; } public DbSet<Diagnos> Diagnoses { set; get; } public DbSet<Disease> Diseases { set; get; } public DbSet<Drug> Drugs { set; get; } public DbSet<MaterialInfo> MaterialInfos {

    2K110发布于 2018-04-11
  • 来自专栏程序员与猫

    EntityFramework Core 学习扫盲

    //在自定义的MyContext中添加以下三行代码 public DbSet<Blog> Blogs { get; set; } public DbSet<Post> Posts { get; set; 包含和排除实体类型 将实体在Context中映射到数据库有多种方式: 使用DbSet< TEntity >定义属性。 在OnModelCreating方法中使用Fluent Api配置。 <Car> Cars { get; set; } public DbSet<Blog> Blogs { get; set; } public DbSet<Post> Posts { get Fluent API class MyContext : DbContext { public DbSet<Blog> Blogs { get; set; } public DbSet< DbSet<Blog> Blogs { get; set; } public DbSet<Post> Posts { get; set; } public DbSet<

    10.6K90发布于 2018-01-18
  • 来自专栏一个爱瞎折腾的程序猿

    个人项目框架搭建 -- 仓储模式使用

    public virtual DbSet<ArticleRelation> ArticleRelations { get; set; } public virtual DbSet<ArticleType > ArticleTypes { get; set; } public virtual DbSet<FriendsLink> FriendsLinks { get; set; } public virtual DbSet<Permission> Permissions { get; set; } public virtual DbSet<Role_Permission > Role_Permission { get; set; } public virtual DbSet<Role> Roles { get; set; } public virtual DbSet<SiteALlConfig> SiteALlConfigs { get; set; } public virtual DbSet<SiteMessage>

    1.2K10发布于 2018-09-14
  • 来自专栏编程进阶实战

    .NET Core MongoDB数据仓储和工作单元模式封装

    protected readonly IMongoContext _context; protected readonly IMongoCollection<T> _dbSet typeof(T).Name; _dbSet = _context.GetCollection<T>(_collectionName); } # Clear(); //不排序 if (sort == null) return await _dbSet.Find(filter).Project<T> (projection).ToListAsync(); //排序查询 return await _dbSet.Find(filter).Sort(sort Clear(); //不排序 if (sort == null) return await _dbSet.Find(filter).Project<T>

    2K10编辑于 2023-04-28
  • 来自专栏DotNet NB && CloudNative

    Repository Pattern已死?深入剖析.NET中的设计模式争议与最佳实践

    <T> _dbSet; public Repository(DbContext context) { _context = context; _dbSet = context.Set<T>(); } publicasync Task<T? () => await _dbSet.ToListAsync(); public async Task AddAsync(T entity) => await _dbSet.AddAsync (entity); public async Task UpdateAsync(T entity) => _dbSet.Update(entity); public async Task DeleteAsync(T entity) => _dbSet.Remove(entity); } 其核心目标?

    44000编辑于 2025-05-17
  • 来自专栏GreenLeaves

    EF 约定介绍

    ZdyNameDbContext,并继承DbContext,并在自定义DbContext中暴露需要暴露的类型,这样在Code First开发模式中,就可以使用 context(数据库上下文),使用这些预先暴露的DbSet 类型,具体的代码如下:   public class EFStudyDbContext:DbContext { //暴露City的DbSet类型的属性 public DbSet<City> Citys { get; set; } //暴露Town的DbSet类型的属性 public DbSet<Town> Towns { get;

    2.4K100发布于 2018-01-26
  • 来自专栏DotNet NB && CloudNative

    .NET 云原生架构师训练营(模块二 基础巩固 EF Core 介绍)--学习笔记

    LighterDbContext(DbContextOptions<LighterDbContext> options) : base(options) { } public DbSet <Project.Project> Projects { get; set; } public DbSet<Project.Member> Members { get; set; } public DbSet<Project.Assistant> Assistants { get; set; } public DbSet<Project.ProjectGroup > ProjectGroups { get; set; } public DbSet<Project.Task> Tasks { get; set; } protected

    1.1K10发布于 2021-01-13
  • 来自专栏DotNet NB && CloudNative

    .NET 云原生架构师训练营(模块二 基础巩固 EF Core 介绍)--学习笔记

    LighterDbContext(DbContextOptions<LighterDbContext> options) : base(options) { } public DbSet <Project.Project> Projects { get; set; } public DbSet<Project.Member> Members { get; set; } public DbSet<Project.Assistant> Assistants { get; set; } public DbSet<Project.ProjectGroup > ProjectGroups { get; set; } public DbSet<Project.Task> Tasks { get; set; } protected

    1.2K11发布于 2020-12-27
  • 来自专栏WeiMLing

    麻雀虽小,五脏俱全。基于Asp.net core + Sqlite 5分钟快速上手一个小项目

    这里要using Microsoft.EntityFrameworkCore; 其中public DbSet<Music> Musics { get; set; } 表示在数据库生成表Musics,同理 MyContext(DbContextOptions<MyContext> options) : base(options) { } public DbSet <Music> Musics { get; set; } public DbSet<Genre> Genres { get; set; } public DbSet<

    1.3K10发布于 2019-08-23
  • 来自专栏销声匿迹

    Repository个人实践

    TEntity> where TEntity : class { protected DbContext Context; protected DbSet ; this.DbSet = context.Set<TEntity>(); } public virtual IQueryable<TEntity , string includeProperties = "") { IQueryable<TEntity> query = this.DbSet (id); } public virtual void Insert(TEntity entity) { DbSet.Add(entity void Update(TEntity entityToUpdate) { DbSet.Attach(entityToUpdate);

    1.4K20发布于 2020-09-03
  • 来自专栏DotNet NB && CloudNative

    解锁.NET Webhook终极方案:基于PostgreSQL队列的可靠发送架构

    publicconststring Error = "Error"; } 高并发存储实现 public class PostgresWebhookStore<TDb>( TDb db, Func<TDb, DbSet IServiceCollection AddPostgresWebhookSending<TDb>( this IServiceCollection services, Func<TDb, DbSet public class Db(DbContextOptions<Db> options) : DbContext(options), IDbWith<WebhookRecord> { public DbSet DbContextOptions<Db> options) : DbContext(options), IDbWithWebhookRecord<WebhookRecord> { public DbSet

    30710编辑于 2025-08-24
  • 来自专栏单片机/c#技术分享

    【源码解读(一)】EFCORE源码解读之创建DBContext查询拦截

    public virtual DbSet<BizName2Id> BizName2Ids { get; set; } public virtual DbSet<BizProfileInfo virtual DbSet<ChatInfo> ChatInfos { get; set; } public virtual DbSet<ChatLiveInfo> ChatLiveInfos DbSet<ContactHeadImgUrl> ContactHeadImgUrls { get; set; } public virtual DbSet<ContactLabel> { get; set; } public virtual DbSet<OpLog> OpLogs { get; set; } public virtual DbSet get; set; } public virtual DbSet<Session> Sessions { get; set; } public virtual DbSet

    1.5K20编辑于 2023-10-16
  • 来自专栏个人编程笔记

    网站被腾讯安全拦截处理

    ContentService.Infrastructure { public class ContentDbContext : DbContext { public DbSet <PostModel> Posts { get; set; } public DbSet<PostMetaModel> PostsMetas { get; set; } public DbSet<TermModel> Terms { get; set; } public DbSet<TermTaxonomyModel> TermTaxonomies { get; set; } public DbSet<TermRelationships> TermRelationships { get; set; } public ContentDbContext

    3.2K10编辑于 2023-03-03
  • 来自专栏DotNet NB && CloudNative

    面向初学者的 Entity Framework Core

    示例: public class AppDbContext : DbContext { public DbSet<Student> Students { get; set; } } DbSetDbSet表示可从数据库中查询的实体集合。 它对应于数据库中的一张表,并且每个DbSet实例都允许你执行诸如添加、删除或查询数据之类的操作。 publicstring Name {get;set;} publicDateTime BirthDate {get;set;} } 在上述示例中,AppDbContext中的Students是一个DbSet

    1.4K10编辑于 2025-02-18
  • 来自专栏DotNet NB && CloudNative

    .NET 云原生架构师训练营(模块二 基础巩固 EF Core 更新和迁移)--学习笔记

    return origin; } 不查询删除和更新 删除之前先查询 var id = 1; using(var db = new entityContext()) { var entity = db.dbset.FirstOrDefault = null) { db.dbset.Remove(entity); db.SaveChanges(); } } 不查询删除 var id = 1; using (var db = new entityContext()) { var entity = new Entity{ID = id}; db.dbset.Attach(entity ); db.dbset.Remove(entity); db.SaveChanges(); } 不查询更新 try { using(var db = new dbContext

    83620发布于 2021-01-13
领券