如何在将实体插入通用存储库后返回实体

本文关键字:实体 存储 返回 插入 | 更新日期: 2023-09-27 17:56:51

我正在使用实体框架并编写了一个通用存储库来实现UnitOfWork模式。

我需要返回我插入的实体,并带有分配的 id。

public class GenericRepository<TEntity> where TEntity : class
{
    internal AppDb Context;
    internal DbSet<TEntity> DbSet;
    public GenericRepository(AppDb context)
    {
        this.Context = context;
        this.DbSet = context.Set<TEntity>();
    }
    // ...
    public virtual void Insert(TEntity entity)
    {
         DbSet.Add(entity);
    }
    // ...
}

如何在将实体插入通用存储库后返回实体

你是说这个?

public virtual TEntity Insert(TEntity entity)
{
     return DbSet.Add(entity);
}

DbSet<T>.Add()返回T,因此只需更改返回类型和类型return即可。