完成模板模块,但配置类有问题

This commit is contained in:
橙子
2023-01-21 22:40:10 +08:00
parent 1f702c20ae
commit e23e5a292d
70 changed files with 277 additions and 473 deletions

View File

@@ -0,0 +1,3 @@
global using Yi.Framework.Core.Attributes;
global using Yi.Framework.Core.Helper;
global using Yi.Framework.Core.Model;

View File

@@ -4,19 +4,14 @@
<name>Yi.Framework.Application.Contracts</name>
</assembly>
<members>
<member name="T:Yi.Framework.Application.Contracts.Student.Dtos.StudentCreateInputVo">
<member name="T:Yi.Framework.Application.Contracts.School.Dtos.StudentCreateInputVo">
<summary>
Student输入创建对象
</summary>
</member>
<member name="P:Yi.Framework.Application.Contracts.Student.Dtos.StudentGetListOutputDto.IsDeleted">
<member name="T:Yi.Framework.Application.Contracts.School.IStudentService">
<summary>
想看一下结果
</summary>
</member>
<member name="T:Yi.Framework.Application.Contracts.Student.IStudentService">
<summary>
服务抽象
Student<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
</summary>
</member>
</members>

View File

@@ -1,17 +1,17 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Ddd.Dtos;
namespace Yi.Framework.Application.Contracts.Student.Dtos
namespace Yi.Framework.Application.Contracts.School.Dtos
{
public class StudentGetOutputDto : IEntityDto<long>
{
public long Id { get; set; }
public string Name { get; set; }
public long Number { get; set; }
public int? Height { get; set; }
public string? Phone { get; set; }
}
}

View File

@@ -1,18 +1,19 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Yi.Framework.Application.Contracts.Student.Dtos
namespace Yi.Framework.Application.Contracts.School.Dtos
{
/// <summary>
/// Student输入创建对象
/// </summary>
public class StudentCreateInputVo
{
public long Id { get; set; }
public string Name { get; set; }
public long Number { get; set; }
public int? Height { get; set; }
public string? Phone { get; set; }
}
}

View File

@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Ddd.Dtos;
namespace Yi.Framework.Application.Contracts.School.Dtos
{
public class StudentGetListInputVo : PagedAndSortedResultRequestDto
{
public long Id { get; set; }
public string Name { get; set; }
public int? Height { get; set; }
public string? Phone { get; set; }
}
}

View File

@@ -1,21 +1,17 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Ddd.Dtos;
namespace Yi.Framework.Application.Contracts.Student.Dtos
namespace Yi.Framework.Application.Contracts.School.Dtos
{
public class StudentGetListOutputDto : IEntityDto<long>
{
public long Id { get; set; }
public string Name { get; set; }
public long Number { get; set; }
/// <summary>
/// 想看一下结果
/// </summary>
public bool IsDeleted { get; set; }
public int? Height { get; set; }
public string? Phone { get; set; }
}
}

View File

@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Yi.Framework.Application.Contracts.School.Dtos
{
public class StudentUpdateInputVo
{
public long Id { get; set; }
public string Name { get; set; }
public int? Height { get; set; }
public string? Phone { get; set; }
}
}

View File

@@ -1,15 +1,15 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Application.Contracts.Student.Dtos;
using Yi.Framework.Application.Contracts.School.Dtos;
using Yi.Framework.Ddd.Services.Abstract;
namespace Yi.Framework.Application.Contracts.Student
namespace Yi.Framework.Application.Contracts.School
{
/// <summary>
/// 服务抽象
/// Student<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
public interface IStudentService : ICrudAppService<StudentGetOutputDto, StudentGetListOutputDto, long, StudentGetListInputVo, StudentCreateInputVo, StudentUpdateInputVo>
{

View File

@@ -1,16 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Ddd.Dtos;
namespace Yi.Framework.Application.Contracts.Student.Dtos
{
public class StudentGetListInputVo : PagedAndSortedResultRequestDto
{
public string? Name { get; set; }
public long? Number { get; set; }
}
}

View File

@@ -1,17 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Yi.Framework.Application.Contracts.Student.Dtos
{
public class StudentUpdateInputVo
{
public string? Name { get; set; }
public long? Number { get; set; }
public bool IsDeleted { get; set; }
}
}

View File

@@ -8,7 +8,7 @@
<DocumentationFile>./ApplicationContractsSwaggerDoc.xml</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\GlobalUsings.cs" Link="Properties\GlobalUsings.cs" />
<Compile Include="..\GlobalUsings.cs" Link="Properties\GlobalUsings.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Yi.Framework.Domain.Shared\Yi.Framework.Domain.Shared.csproj" />

View File

@@ -4,29 +4,10 @@
<name>Yi.Framework.Application</name>
</assembly>
<members>
<member name="T:Yi.Framework.Application.Student.StudentService">
<member name="T:Yi.Framework.Application.School.StudentService">
<summary>
服务实现
Student服务实现
</summary>
</member>
<member name="M:Yi.Framework.Application.Student.StudentService.GetDataFiterTestAsync(Yi.Framework.Application.Contracts.Student.Dtos.StudentGetListInputVo)">
<summary>
数据过滤测试
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:Yi.Framework.Application.Student.StudentService.GetToken">
<summary>
测试token
</summary>
<returns></returns>
</member>
<member name="M:Yi.Framework.Application.Student.StudentService.PostUow">
<summary>
Uow
</summary>
<returns></returns>
</member>
</members>
</doc>

View File

@@ -1,13 +1,13 @@
using AutoMapper;
using AutoMapper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Application.Contracts.Student.Dtos;
using Yi.Framework.Domain.Student.Entities;
using Yi.Framework.Application.Contracts.School.Dtos;
using Yi.Framework.Domain.School.Entities;
namespace Yi.Framework.Application.Student.MapperConfig
namespace Yi.Framework.Application.School.MapperConfig
{
public class StudentProfile: Profile
{

View File

@@ -0,0 +1,17 @@
using Yi.Framework.Application.Contracts.School;
using NET.AutoWebApi.Setting;
using Yi.Framework.Application.Contracts.School.Dtos;
using Yi.Framework.Domain.School.Entities;
using Yi.Framework.Ddd.Services;
namespace Yi.Framework.Application.School
{
/// <summary>
/// Student服务实现
/// </summary>
[AppService]
public class StudentService : CrudAppService<StudentEntity, StudentGetOutputDto, StudentGetListOutputDto, long, StudentGetListInputVo, StudentCreateInputVo, StudentUpdateInputVo>,
IStudentService, IAutoApiService
{
}
}

View File

@@ -1,105 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Application.Contracts.Student;
using Yi.Framework.Domain.Student;
using Microsoft.AspNetCore.Mvc;
using NET.AutoWebApi.Setting;
using Microsoft.AspNetCore.Http;
using Yi.Framework.Ddd.Services.Abstract;
using Yi.Framework.Application.Contracts.Student.Dtos;
using Yi.Framework.Domain.Student.Entities;
using Yi.Framework.Ddd.Services;
using Yi.Framework.Core.Attributes;
using Yi.Framework.Uow;
using Microsoft.AspNetCore.Authorization;
using Yi.Framework.Auth.JwtBearer.Authentication;
using Yi.Framework.Core.Const;
using Yi.Framework.Core.CurrentUsers;
using Yi.Framework.Auth.JwtBearer.Authorization;
using Yi.Framework.Domain.Shared.Student.ConstClasses;
using Yi.Framework.Domain.Student.Repositories;
using Yi.Framework.Data.Filters;
using Yi.Framework.Data.Entities;
using Yi.Framework.Ddd.Dtos;
namespace Yi.Framework.Application.Student
{
/// <summary>
/// 服务实现
/// </summary>
[AppService]
public class StudentService : CrudAppService<StudentEntity, StudentGetOutputDto, StudentGetListOutputDto, long, StudentGetListInputVo, StudentCreateInputVo, StudentUpdateInputVo>,
IStudentService, IAutoApiService
{
private readonly IStudentRepository _studentRepository;
private readonly StudentManager _studentManager;
private readonly IUnitOfWorkManager _unitOfWorkManager;
private readonly JwtTokenManager _jwtTokenManager;
private readonly ICurrentUser _currentUser;
private readonly IDataFilter _dataFilter;
public StudentService(IStudentRepository studentRepository, StudentManager studentManager, IUnitOfWorkManager unitOfWorkManager, JwtTokenManager jwtTokenManager, ICurrentUser currentUser, IDataFilter dataFilter)
{
_studentRepository = studentRepository;
_studentManager = studentManager;
_unitOfWorkManager = unitOfWorkManager;
_jwtTokenManager = jwtTokenManager;
_currentUser = currentUser;
_dataFilter = dataFilter;
}
/// <summary>
/// 数据过滤测试
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public async Task<PagedResultDto<StudentGetListOutputDto>> GetDataFiterTestAsync(StudentGetListInputVo input)
{
PagedResultDto<StudentGetListOutputDto> res = new();
using (_dataFilter.Disable<ISoftDelete>())
{
res = await base.GetListAsync(input);
}
var p = await base.GetListAsync(input);
return res;
}
/// <summary>
/// 测试token
/// </summary>
/// <returns></returns>
public string GetToken()
{
var claimDic = new Dictionary<string, object>() { { TokenTypeConst.Id, "123" }, { TokenTypeConst.UserName, "cc" } };
return _jwtTokenManager.CreateToken(claimDic);
}
/// <summary>
/// Uow
/// </summary>
/// <returns></returns>
[Authorize]
[Permission(AuthStudentConst.查询)]
public async Task<StudentGetOutputDto> PostUow()
{
var o = _currentUser;
StudentGetOutputDto res = new();
using (var uow = _unitOfWorkManager.CreateContext())
{
var studentRepository = uow.GetRepository<StudentEntity>();
res = await base.CreateAsync(new StudentCreateInputVo { Name = $"老杰哥{DateTime.Now.ToString("ffff")}", Number = 2023 });
if (new Random().Next(0, 2) == 0) throw new NotImplementedException();
uow.Commit();
}
return res;
}
}
}

View File

@@ -8,11 +8,11 @@
<DocumentationFile>./ApplicationSwaggerDoc.xml</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\GlobalUsings.cs" Link="Properties\GlobalUsings.cs" />
<Compile Include="..\GlobalUsings.cs" Link="Properties\GlobalUsings.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\framework\Yi.Framework.Auth.JwtBearer\Yi.Framework.Auth.JwtBearer.csproj" />
<ProjectReference Include="..\..\src\framework\Yi.Framework.Uow\Yi.Framework.Uow.csproj" />
<ProjectReference Include="..\..\framework\Yi.Framework.Auth.JwtBearer\Yi.Framework.Auth.JwtBearer.csproj" />
<ProjectReference Include="..\..\framework\Yi.Framework.Uow\Yi.Framework.Uow.csproj" />
<ProjectReference Include="..\Yi.Framework.Application.Contracts\Yi.Framework.Application.Contracts.csproj" />
<ProjectReference Include="..\Yi.Framework.Domain\Yi.Framework.Domain.csproj" />
</ItemGroup>

View File

@@ -7,8 +7,6 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Application.Contracts;
using Yi.Framework.Application.Contracts.Student;
using Yi.Framework.Application.Student;
using Yi.Framework.Auth.JwtBearer;
using Yi.Framework.Core.Attributes;
using Yi.Framework.Data;

View File

@@ -1 +0,0 @@
global using Yi.Framework.Core.Attributes;

View File

@@ -1,10 +1,10 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Yi.Framework.Domain.Shared.Student.ConstClasses
namespace Yi.Framework.Domain.Shared.School.ConstClasses
{
/// <summary>
/// 常量定义
@@ -12,6 +12,5 @@ namespace Yi.Framework.Domain.Shared.Student.ConstClasses
public class StudentConst
{
public const string = "失败!学生已经重复";
}
}

View File

@@ -1,14 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Yi.Framework.Domain.Shared.Student.ConstClasses
{
public class AuthStudentConst
{
public const string = "student:student:list";
public const string = "student:student:add";
}
}

View File

@@ -6,10 +6,10 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\GlobalUsings.cs" Link="Properties\GlobalUsings.cs" />
<Compile Include="..\GlobalUsings.cs" Link="Properties\GlobalUsings.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\framework\Yi.Framework.Ddd\Yi.Framework.Ddd.csproj" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\framework\Yi.Framework.Ddd\Yi.Framework.Ddd.csproj" />
</ItemGroup>
</Project>

View File

@@ -4,35 +4,5 @@
<name>Yi.Framework.Domain</name>
</assembly>
<members>
<member name="T:Yi.Framework.Domain.Student.Entities.StudentEntity">
<summary>
学生实体
</summary>
</member>
<member name="P:Yi.Framework.Domain.Student.Entities.StudentEntity.Name">
<summary>
学生名称
</summary>
</member>
<member name="P:Yi.Framework.Domain.Student.Entities.StudentEntity.Number">
<summary>
学号
</summary>
</member>
<member name="P:Yi.Framework.Domain.Student.Entities.StudentEntity.IsDeleted">
<summary>
软删除
</summary>
</member>
<member name="T:Yi.Framework.Domain.Student.Repositories.IStudentRepository">
<summary>
仓储抽象
</summary>
</member>
<member name="T:Yi.Framework.Domain.Student.StudentManager">
<summary>
领域服务
</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1,25 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Data.Entities;
using Yi.Framework.Ddd.Entities;
namespace Yi.Framework.Domain.School.Entities
{
[SugarTable("Student")]
public class StudentEntity : IEntity<long>,ISoftDelete
{
[SugarColumn(IsPrimaryKey = true)]
public long Id { get; set; }
public string Name { get; set; }
public int? Height { get; set; }
public string? Phone { get; set; }
public bool IsDeleted { get; set; } = false;
}
}

View File

@@ -1,36 +0,0 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Data.Entities;
using Yi.Framework.Ddd.Entities;
namespace Yi.Framework.Domain.Student.Entities
{
/// <summary>
/// 学生实体
/// </summary>
[SugarTable("Student")]
public class StudentEntity : IEntity<long>, ISoftDelete
{
[SugarColumn(IsPrimaryKey = true)]
public long Id { get; set; }
/// <summary>
/// 学生名称
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// 学号
/// </summary>
public long Number { get;set ; }
/// <summary>
/// 软删除
/// </summary>
public bool IsDeleted { get; set; }
}
}

View File

@@ -1,18 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Ddd.Repositories;
using Yi.Framework.Domain.Student.Entities;
namespace Yi.Framework.Domain.Student.Repositories
{
/// <summary>
/// 仓储抽象
/// </summary>
public interface IStudentRepository : IRepository<StudentEntity>
{
Task<List<StudentEntity>> GetMyListAsync();
}
}

View File

@@ -1,21 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Domain.Student.Repositories;
namespace Yi.Framework.Domain.Student
{
/// <summary>
/// 领域服务
/// </summary>
public class StudentManager
{
private readonly IStudentRepository _studentRepository;
public StudentManager(IStudentRepository studentRepository)
{
_studentRepository=studentRepository;
}
}
}

View File

@@ -8,10 +8,10 @@
<DocumentationFile>./DomainSwaggerDoc.xml</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\GlobalUsings.cs" Link="Properties\GlobalUsings.cs" />
<Compile Include="..\GlobalUsings.cs" Link="Properties\GlobalUsings.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\framework\Yi.Framework.Data\Yi.Framework.Data.csproj" />
<ProjectReference Include="..\..\framework\Yi.Framework.Data\Yi.Framework.Data.csproj" />
<ProjectReference Include="..\Yi.Framework.Domain.Shared\Yi.Framework.Domain.Shared.csproj" />
</ItemGroup>

View File

@@ -9,7 +9,6 @@ using System.Threading.Tasks;
using Yi.Framework.Core.Attributes;
using Yi.Framework.Data;
using Yi.Framework.Domain.Shared;
using Yi.Framework.Domain.Student;
namespace Yi.Framework.Domain
{
@@ -25,7 +24,7 @@ namespace Yi.Framework.Domain
public void ConfigureServices(IServiceCollection services, ConfigureServicesContext context)
{
services.AddTransient<StudentManager>();
//services.AddTransient<StudentManager>();
}
}
}

View File

@@ -0,0 +1,27 @@
//using SqlSugar;
//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;
//using Yi.Framework.Core.Sqlsugar.Repositories;
//using Yi.Framework.Domain.Teacher.Entities;
//using Yi.Framework.Domain.Teacher.Repositories;
//namespace Yi.Framework.Sqlsugar.Teacher
//{
// /// <summary>
// /// 仓储实现方式
// /// </summary>
// public class StudentRepository : SqlsugarRepository<StudentEntity>, IStudentRepository
// {
// public StudentRepository(ISqlSugarClient context) : base(context)
// {
// }
// public async Task<List<StudentEntity>> GetMyListAsync()
// {
// return await _DbQueryable.ToListAsync();
// }
// }
//}

View File

@@ -1,27 +0,0 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Core.Sqlsugar.Repositories;
using Yi.Framework.Domain.Student.Entities;
using Yi.Framework.Domain.Student.Repositories;
namespace Yi.Framework.Sqlsugar.Student
{
/// <summary>
/// 仓储实现方式
/// </summary>
public class StudentRepository : SqlsugarRepository<StudentEntity>, IStudentRepository
{
public StudentRepository(ISqlSugarClient context) : base(context)
{
}
public async Task<List<StudentEntity>> GetMyListAsync()
{
return await _DbQueryable.ToListAsync();
}
}
}

View File

@@ -7,10 +7,10 @@
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\GlobalUsings.cs" Link="Properties\GlobalUsings.cs" />
<Compile Include="..\GlobalUsings.cs" Link="Properties\GlobalUsings.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\framework\Yi.Framework.Core.Sqlsugar\Yi.Framework.Core.Sqlsugar.csproj" />
<ProjectReference Include="..\..\framework\Yi.Framework.Core.Sqlsugar\Yi.Framework.Core.Sqlsugar.csproj" />
<ProjectReference Include="..\Yi.Framework.Domain\Yi.Framework.Domain.csproj" />
</ItemGroup>

View File

@@ -9,8 +9,6 @@ using System.Threading.Tasks;
using Yi.Framework.Core.Attributes;
using Yi.Framework.Core.Sqlsugar;
using Yi.Framework.Domain;
using Yi.Framework.Domain.Student.Repositories;
using Yi.Framework.Sqlsugar.Student;
namespace Yi.Framework.Sqlsugar
{
@@ -24,7 +22,7 @@ namespace Yi.Framework.Sqlsugar
public void ConfigureServices(IServiceCollection services, ConfigureServicesContext context)
{
services.AddTransient<IStudentRepository, StudentRepository>();
//services.AddTransient<IStudentRepository, StudentRepository>();
}
}
}

View File

@@ -13,7 +13,6 @@ builder.WebHost.UseStartUrlsServer(builder.Configuration);
//<2F><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
builder.UseYiModules(typeof(YiFrameworkWebModule));
//<2F><><EFBFBD><EFBFBD>autofacģ<63><C4A3>,<2C><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
builder.Host.ConfigureAutoFacContainer(container =>
{

View File

@@ -75,3 +75,11 @@
2023:01:20-18:53:16本次运行启动时间为5186毫秒
2023:01:20-19:01:36本次运行启动时间为5194毫秒
2023:01:21-15:04:00本次运行启动时间为7763毫秒
2023:01:21-18:34:52本次运行启动时间为2507毫秒
2023:01:21-22:17:17本次运行启动时间为2137毫秒
2023:01:21-22:18:22本次运行启动时间为2040毫秒
2023:01:21-22:20:13本次运行启动时间为1611毫秒
2023:01:21-22:20:37本次运行启动时间为1525毫秒
2023:01:21-22:21:52本次运行启动时间为1563毫秒
2023:01:21-22:29:30本次运行启动时间为9099毫秒
2023:01:21-22:30:38本次运行启动时间为2136毫秒

View File

@@ -7,11 +7,10 @@
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\GlobalUsings.cs" Link="Properties\GlobalUsings.cs" />
<Compile Include="..\GlobalUsings.cs" Link="Properties\GlobalUsings.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\framework\Yi.Framework.Core.Autofac\Yi.Framework.Core.Autofac.csproj" />
<ProjectReference Include="..\Yi.Framework.Application\Yi.Framework.Application.csproj" />
<ProjectReference Include="..\Yi.Framework.Sqlsugar\Yi.Framework.Sqlsugar.csproj" />
</ItemGroup>

View File

@@ -18,7 +18,7 @@
"DbType": "Sqlite",
"EnabledDbSeed": false,
"EnabledReadWrite": false,
"EnabledCodeFirst": false,
"EnabledCodeFirst": true,
"EntityAssembly": null,
"ReadUrl": [
"DataSource=[xxxx]", //sqlite