/// <summary> /// 获取指定实体类型的Sql执行器 /// </summary> public static ISqlExecutor <TEntity, TKey> GetSqlExecutor <TEntity, TKey>(this IUnitOfWorkManager unitOfWorkManager) where TEntity : IEntity <TKey> { OSharpDbContextOptions options = unitOfWorkManager.GetDbContextResolveOptions(typeof(TEntity)); DatabaseType databaseType = options.DatabaseType; IList <ISqlExecutor <TEntity, TKey> > executors = unitOfWorkManager.ServiceProvider.GetServices <ISqlExecutor <TEntity, TKey> >().ToList(); return(executors.FirstOrDefault(m => m.DatabaseType == databaseType)); }
/// <summary> /// 获取指定实体类型的数据上下文选项 /// </summary> public static OSharpDbContextOptions GetDbContextResolveOptions <TEntity, TKey>(this IUnitOfWorkManager unitOfWorkManager) where TEntity : IEntity <TKey> { Type entityType = typeof(TEntity); return(unitOfWorkManager.GetDbContextResolveOptions(entityType)); }