【发布时间】:2016-06-23 10:08:22
【问题描述】:
我已经在数据访问层之上实现了存储库模式和工作单元。我在通用存储库中有所有的 crud 操作,但在工作单元中保存方法。在我的业务类中,我将对象传递给泛型类,然后是工作单元中的 Save 方法,我的问题是我如何从现在开始获取范围 ID
基本上我需要在保存后获取对象的 ID,因为我使用泛型类来保存数据,所以我不知道对象 ID 名称是什么
public class GenericRepository<TEntity> : IGenericRepository<TEntity> where TEntity : class
{
protected DbSet<TEntity> _DbSet;
private readonly DbContext _dbContext;
public GenericRepository()
{ }
public GenericRepository(DbContext dbContext)
{
this._dbContext = dbContext;
_DbSet = _dbContext.Set<TEntity>();
}
public void InsertEntity(TEntity obj)
{
_DbSet.Add(obj);
}
}
...
public class FunctionsNavigation_UnitOfWork : IDisposable
{
private FunctionContext _FunctionContext = new FunctionContext();
uow.Qualification_FeeSchemeRepository.InsertEntity(obj);
}
}
public void Save()
{
_FunctionContext.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);
_FunctionContext.SaveChanges();
}
在保存后的商务舱中,我尝试获取对象的 ID,但我没有得到任何东西
_uof.Sys_Nav_Functions_Repository.InsertEntity(_Sys_Nav_FunctionEntity);
_uof.Save();
_FunctionID = _obj.Sys_Nav_Function.Function_ID;
【问题讨论】:
标签: c# entity-framework-6 repository-pattern unit-of-work