diff --git a/Yi.Framework/Yi.Framework.ApiMicroservice/Startup.cs b/Yi.Framework/Yi.Framework.ApiMicroservice/Startup.cs index d2e6dcb3..be1aa169 100644 --- a/Yi.Framework/Yi.Framework.ApiMicroservice/Startup.cs +++ b/Yi.Framework/Yi.Framework.ApiMicroservice/Startup.cs @@ -11,6 +11,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using Yi.Framework.Common.IOCOptions; namespace Yi.Framework.ApiMicroservice { @@ -28,6 +29,9 @@ namespace Yi.Framework.ApiMicroservice { services.AddControllers(); + + services.Configure(this.Configuration.GetSection("SqliteConn")); + services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "Yi.Framework.ApiMicroservice", Version = "v1" }); @@ -48,8 +52,10 @@ namespace Yi.Framework.ApiMicroservice app.UseRouting(); + app.UseAuthentication(); app.UseAuthorization(); + app.UseEndpoints(endpoints => { endpoints.MapControllers(); diff --git a/Yi.Framework/Yi.Framework.ApiMicroservice/Yi.Framework.ApiMicroservice.csproj b/Yi.Framework/Yi.Framework.ApiMicroservice/Yi.Framework.ApiMicroservice.csproj index 28847161..3bf9b470 100644 --- a/Yi.Framework/Yi.Framework.ApiMicroservice/Yi.Framework.ApiMicroservice.csproj +++ b/Yi.Framework/Yi.Framework.ApiMicroservice/Yi.Framework.ApiMicroservice.csproj @@ -8,4 +8,8 @@ + + + + diff --git a/Yi.Framework/Yi.Framework.Common/IOCOptions/ElasticSearchOptions.cs b/Yi.Framework/Yi.Framework.Common/IOCOptions/ElasticSearchOptions.cs index 9eca69cd..1080aaa6 100644 --- a/Yi.Framework/Yi.Framework.Common/IOCOptions/ElasticSearchOptions.cs +++ b/Yi.Framework/Yi.Framework.Common/IOCOptions/ElasticSearchOptions.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Yi.Common.IOCOptions +namespace Yi.Framework.Common.IOCOptions { public class ElasticSearchOptions { diff --git a/Yi.Framework/Yi.Framework.Common/IOCOptions/JWTTokenOptions.cs b/Yi.Framework/Yi.Framework.Common/IOCOptions/JWTTokenOptions.cs index 1ecad49a..89fd0993 100644 --- a/Yi.Framework/Yi.Framework.Common/IOCOptions/JWTTokenOptions.cs +++ b/Yi.Framework/Yi.Framework.Common/IOCOptions/JWTTokenOptions.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace CC.ElectronicCommerce.Common.IOCOptions +namespace Yi.Framework.Common.IOCOptions { public class JWTTokenOptions { diff --git a/Yi.Framework/Yi.Framework.Common/IOCOptions/KafkaOptions.cs b/Yi.Framework/Yi.Framework.Common/IOCOptions/KafkaOptions.cs index 89b3a440..7afcc735 100644 --- a/Yi.Framework/Yi.Framework.Common/IOCOptions/KafkaOptions.cs +++ b/Yi.Framework/Yi.Framework.Common/IOCOptions/KafkaOptions.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace CC.ElectronicCommerce.Common.IOCOptions +namespace Yi.Framework.Common.IOCOptions { public class KafkaOptions { diff --git a/Yi.Framework/Yi.Framework.Common/IOCOptions/SqliteOptions.cs b/Yi.Framework/Yi.Framework.Common/IOCOptions/SqliteOptions.cs new file mode 100644 index 00000000..0ac7b25d --- /dev/null +++ b/Yi.Framework/Yi.Framework.Common/IOCOptions/SqliteOptions.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.Framework.Common.IOCOptions +{ + public class SqliteOptions + { + public string Url { get; set; } + } +} diff --git a/Yi.Framework/Yi.Framework.Common/Yi.Framework.Common.csproj b/Yi.Framework/Yi.Framework.Common/Yi.Framework.Common.csproj index f208d303..3f64571d 100644 --- a/Yi.Framework/Yi.Framework.Common/Yi.Framework.Common.csproj +++ b/Yi.Framework/Yi.Framework.Common/Yi.Framework.Common.csproj @@ -4,4 +4,8 @@ net5.0 + + + + diff --git a/Yi.Framework/Yi.Framework.Core/CacheClientDB.cs b/Yi.Framework/Yi.Framework.Core/CacheClientDB.cs index 7508d9d4..41d84a5c 100644 --- a/Yi.Framework/Yi.Framework.Core/CacheClientDB.cs +++ b/Yi.Framework/Yi.Framework.Core/CacheClientDB.cs @@ -11,9 +11,9 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; -using CC.ElectronicCommerce.Common.IOCOptions; +using Yi.Framework.Common.IOCOptions; -namespace CC.ElectronicCommerce.Core +namespace Yi.Framework.Core { public class CacheClientDB : IDisposable { diff --git a/Yi.Framework/Yi.Framework.Model/Models/DataContext.cs b/Yi.Framework/Yi.Framework.Model/Models/DataContext.cs new file mode 100644 index 00000000..ce008f16 --- /dev/null +++ b/Yi.Framework/Yi.Framework.Model/Models/DataContext.cs @@ -0,0 +1,36 @@ +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Options; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Common.IOCOptions; + +namespace Yi.Framework.Model.Models +{ + public class DataContext : DbContext + { + private readonly IOptionsMonitor _optionsMonitor; + private readonly string _connStr; + + public DataContext(IOptionsMonitor optionsMonitor) + { + _optionsMonitor = optionsMonitor; + _connStr = _optionsMonitor.CurrentValue.Url; + } + + public DataContext(string connstr) + { + _connStr = connstr; + } + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + { + if (!optionsBuilder.IsConfigured) + { + optionsBuilder.UseSqlite(_connStr); + } + } + //public virtual DbSet TbBrand { get; set; } + } +} diff --git a/Yi.Framework/Yi.Framework.Model/Yi.Framework.Model.csproj b/Yi.Framework/Yi.Framework.Model/Yi.Framework.Model.csproj index f208d303..5df1a14f 100644 --- a/Yi.Framework/Yi.Framework.Model/Yi.Framework.Model.csproj +++ b/Yi.Framework/Yi.Framework.Model/Yi.Framework.Model.csproj @@ -4,4 +4,16 @@ net5.0 + + + + + + + + + + + + diff --git a/Yi.Framework/Yi.Framework.WebCore/Yi.Framework.WebCore.csproj b/Yi.Framework/Yi.Framework.WebCore/Yi.Framework.WebCore.csproj index f208d303..60150096 100644 --- a/Yi.Framework/Yi.Framework.WebCore/Yi.Framework.WebCore.csproj +++ b/Yi.Framework/Yi.Framework.WebCore/Yi.Framework.WebCore.csproj @@ -4,4 +4,8 @@ net5.0 + + + +