我在stackoverflow上搜索但找不到类似的问题,请指出我是否有一个问题.
我试图用同步和异步操作实现一个通用的可重用存储库,但是我对实体框架和工作单元的了解很少,我很难找到实现它的正确方法.
我在SaveAndCommit操作中添加了一些变体,但不知道使用事务和异步执行此操作的最佳方法是什么.
- - 编辑 - -
根据我的理解,当执行多个操作时应该使用事务,但出于理解目的,我将它用于一个操作.(如果我错了,请纠正我)
这就是我到目前为止所做的
public class Service<TEntity> : IService<TEntity>
where TEntity : Entity
{
#region Constructor and Properties
UnitOfWork _unitOfWork { get { return UnitOfWork.UnitOfWorkPerHttpRequest; } }
protected DbSet<TEntity> Entities
{
get { return _unitOfWork.Set<TEntity>(); }
}
#endregion Constructor and Properties
#region Operations
public virtual IQueryable<TEntity> QueryableEntities()
{
return Entities;
}
public virtual async Task<IList<TEntity>> WhereAsync(Expression<Func<TEntity, bool>> predicate)
{
return await Entities.Where(predicate).ToListAsync();
}
public virtual IList<TEntity> Where(Expression<Func<TEntity, bool>> predicate)
{
return Entities.Where(predicate).ToList();
}
public …Run Code Online (Sandbox Code Playgroud) 凭什么要一个决定使用IdentityDbContext与IdentityDbContext<ApplicationUser>在ASP.NET应用程序MVC5?
使用IdentityDbContext<ApplicationUser>而不是非泛型,我们可以获得哪些好处IdentityDbContext?
asp.net asp.net-mvc entity-framework entity-framework-6 asp.net-mvc-5
在C#中为什么我可以打电话
var intStr = 1.ToString();
var strStr = "1".ToString();
Run Code Online (Sandbox Code Playgroud)
1和"1"是常量文字,为什么object.ToString()不导致错误?