zhaolei
2020-11-20 921de2254ff5712a44ed8575ee8efe34252f6603
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#if !NET45
using Microsoft.Extensions.DependencyInjection;
#endif
 
namespace Prow.Data
{
    /// <summary>
    /// 业务实体类上下文,通过不同的数据库配置文件创建不同的业务实体类
    /// </summary>
    public static class DbContextManager
    {
 
#if !NET45
        /// <summary>
        /// 配置文件如果启用Widget配置,T.FullName 必须是 {AssemblyName}.{ClassName} 并且继承DataAccess类下的T
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public static T? Create<T>() where T : class => DatabaseServiceCollectionExtensions.ServiceProvider.GetRequiredService<IDbContext<T>>().Create();
#else
        /// <summary>
        /// 配置文件如果启用Widget配置,T.FullName 必须是 {AssemblyName}.{ClassName} 并且继承DataAccess类下的T
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public static T? Create<T>() where T : class => new DefaultDbContext<T>().Create();
#endif
    }
}