From c282ecffcf9a21f5f0e8a804d160aa7c808ab178 Mon Sep 17 00:00:00 2001
From: yifan_zhou <1620395434@qq.com>
Date: Tue, 16 Jun 2020 09:49:43 +0800
Subject: [PATCH] =?UTF-8?q?=E5=B0=81=E8=A3=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../WebApi.Api/WebApi.Api.csproj" | 7 ++
.../WebApi.Data/Admin3000Context.cs" | 19 +++++
.../WebApi.Data/BaseEntity.cs" | 30 +++++++
.../WebApi.Data/Entity/Logs.cs" | 19 +++++
.../WebApi.Data/Entity/Roles.cs" | 15 ++++
.../WebApi.Data/Entity/Users.cs" | 17 ++++
.../WebApi.Data/WebApi.Data.csproj" | 12 +++
.../WebApi.Domain/EfRespository.cs" | 82 +++++++++++++++++++
.../WebApi.Domain/Enum/LogsLevel.cs" | 17 ++++
.../WebApi.Domain/IRespository.cs" | 26 ++++++
.../WebApi.Domain/WebApi.Domain.csproj" | 15 ++++
.../WebApi.Implement/WebApi.Implement.csproj" | 7 ++
.../WebApi.InterFace/EfRespository.cs" | 49 +++++++++++
.../WebApi.InterFace/IRespository.cs" | 24 ++++++
.../WebApi.InterFace/WebApi.InteFace.csproj" | 11 +++
.../WebApi.Service/WebApi.Service.csproj" | 7 ++
.../WebApi.Text/WebApi.Text.csproj" | 7 ++
.../WebApi.Util/Dbinitializer.cs" | 60 ++++++++++++++
.../Filters/GlobalExceptionFilter.cs" | 49 +++++++++++
.../WebApi.Util/WebApi.Utils.csproj" | 18 ++++
.../WebApi.sln" | 67 +++++++++++++++
21 files changed, 558 insertions(+)
create mode 100644 "\345\221\250\344\270\200\345\270\206/WebApi.Api/WebApi.Api.csproj"
create mode 100644 "\345\221\250\344\270\200\345\270\206/WebApi.Data/Admin3000Context.cs"
create mode 100644 "\345\221\250\344\270\200\345\270\206/WebApi.Data/BaseEntity.cs"
create mode 100644 "\345\221\250\344\270\200\345\270\206/WebApi.Data/Entity/Logs.cs"
create mode 100644 "\345\221\250\344\270\200\345\270\206/WebApi.Data/Entity/Roles.cs"
create mode 100644 "\345\221\250\344\270\200\345\270\206/WebApi.Data/Entity/Users.cs"
create mode 100644 "\345\221\250\344\270\200\345\270\206/WebApi.Data/WebApi.Data.csproj"
create mode 100644 "\345\221\250\344\270\200\345\270\206/WebApi.Domain/EfRespository.cs"
create mode 100644 "\345\221\250\344\270\200\345\270\206/WebApi.Domain/Enum/LogsLevel.cs"
create mode 100644 "\345\221\250\344\270\200\345\270\206/WebApi.Domain/IRespository.cs"
create mode 100644 "\345\221\250\344\270\200\345\270\206/WebApi.Domain/WebApi.Domain.csproj"
create mode 100644 "\345\221\250\344\270\200\345\270\206/WebApi.Implement/WebApi.Implement.csproj"
create mode 100644 "\345\221\250\344\270\200\345\270\206/WebApi.InterFace/EfRespository.cs"
create mode 100644 "\345\221\250\344\270\200\345\270\206/WebApi.InterFace/IRespository.cs"
create mode 100644 "\345\221\250\344\270\200\345\270\206/WebApi.InterFace/WebApi.InteFace.csproj"
create mode 100644 "\345\221\250\344\270\200\345\270\206/WebApi.Service/WebApi.Service.csproj"
create mode 100644 "\345\221\250\344\270\200\345\270\206/WebApi.Text/WebApi.Text.csproj"
create mode 100644 "\345\221\250\344\270\200\345\270\206/WebApi.Util/Dbinitializer.cs"
create mode 100644 "\345\221\250\344\270\200\345\270\206/WebApi.Util/Filters/GlobalExceptionFilter.cs"
create mode 100644 "\345\221\250\344\270\200\345\270\206/WebApi.Util/WebApi.Utils.csproj"
create mode 100644 "\345\221\250\344\270\200\345\270\206/WebApi.sln"
diff --git "a/\345\221\250\344\270\200\345\270\206/WebApi.Api/WebApi.Api.csproj" "b/\345\221\250\344\270\200\345\270\206/WebApi.Api/WebApi.Api.csproj"
new file mode 100644
index 0000000..9f5c4f4
--- /dev/null
+++ "b/\345\221\250\344\270\200\345\270\206/WebApi.Api/WebApi.Api.csproj"
@@ -0,0 +1,7 @@
+
+
+
+ netstandard2.0
+
+
+
diff --git "a/\345\221\250\344\270\200\345\270\206/WebApi.Data/Admin3000Context.cs" "b/\345\221\250\344\270\200\345\270\206/WebApi.Data/Admin3000Context.cs"
new file mode 100644
index 0000000..27142a9
--- /dev/null
+++ "b/\345\221\250\344\270\200\345\270\206/WebApi.Data/Admin3000Context.cs"
@@ -0,0 +1,19 @@
+using Microsoft.EntityFrameworkCore;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using WebApi.Data.Entity;
+
+namespace WebApi.Data
+{
+ public class Admin3000Context : DbContext
+ {
+ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
+ {
+ optionsBuilder.UseSqlServer("sql=.;database=Admin3000;uid=sa;pwd=123456;");
+ }
+ public DbSet Users { get; set; }
+
+ public DbSet Roles { get; set; }
+ }
+}
diff --git "a/\345\221\250\344\270\200\345\270\206/WebApi.Data/BaseEntity.cs" "b/\345\221\250\344\270\200\345\270\206/WebApi.Data/BaseEntity.cs"
new file mode 100644
index 0000000..45be4c0
--- /dev/null
+++ "b/\345\221\250\344\270\200\345\270\206/WebApi.Data/BaseEntity.cs"
@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WebApi.Data
+{
+ public class BaseEntity
+ {
+ public BaseEntity()
+ {
+ IsActived = true;
+ IsDeleted = false;
+ CreatedTime = DateTime.Now;
+ UpdatedTime = DateTime.Now;
+ }
+ public int Id { get; set; }
+
+ public bool IsActived { get; set; }
+
+ public bool IsDeleted { get; set; }
+
+ public int DisPlayOrder { get; set; }
+
+ public DateTime CreatedTime { get; set; }
+
+ public DateTime UpdatedTime { get; set; }
+
+ public string Remarks { get; set; }
+ }
+}
diff --git "a/\345\221\250\344\270\200\345\270\206/WebApi.Data/Entity/Logs.cs" "b/\345\221\250\344\270\200\345\270\206/WebApi.Data/Entity/Logs.cs"
new file mode 100644
index 0000000..fc2c2e0
--- /dev/null
+++ "b/\345\221\250\344\270\200\345\270\206/WebApi.Data/Entity/Logs.cs"
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WebApi.Data.Entity
+{
+ public class Logs:BaseEntity
+ {
+ public int LogLevel { get; set; }
+
+ public string ShoreMessage { get; set; }
+
+ public string FullMessage { get; set; }
+
+ public int UserId { get; set; }
+
+ public string ReferenceUrl { get; set; }
+ }
+}
diff --git "a/\345\221\250\344\270\200\345\270\206/WebApi.Data/Entity/Roles.cs" "b/\345\221\250\344\270\200\345\270\206/WebApi.Data/Entity/Roles.cs"
new file mode 100644
index 0000000..217265f
--- /dev/null
+++ "b/\345\221\250\344\270\200\345\270\206/WebApi.Data/Entity/Roles.cs"
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WebApi.Data.Entity
+{
+ public class Roles : BaseEntity
+ {
+ public string RolesName { get; set; }
+
+ public string Description { get; set; }
+
+ public IEnumerable Users { get; set; }
+ }
+}
diff --git "a/\345\221\250\344\270\200\345\270\206/WebApi.Data/Entity/Users.cs" "b/\345\221\250\344\270\200\345\270\206/WebApi.Data/Entity/Users.cs"
new file mode 100644
index 0000000..3220c45
--- /dev/null
+++ "b/\345\221\250\344\270\200\345\270\206/WebApi.Data/Entity/Users.cs"
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WebApi.Data.Entity
+{
+ public class Users:BaseEntity
+ {
+ public string UsersName { get; set; }
+
+ public string PassWord { get; set; }
+
+ public int RoleId { get; set; }
+
+ public Roles Roles { get; set; }
+ }
+}
diff --git "a/\345\221\250\344\270\200\345\270\206/WebApi.Data/WebApi.Data.csproj" "b/\345\221\250\344\270\200\345\270\206/WebApi.Data/WebApi.Data.csproj"
new file mode 100644
index 0000000..45bf2af
--- /dev/null
+++ "b/\345\221\250\344\270\200\345\270\206/WebApi.Data/WebApi.Data.csproj"
@@ -0,0 +1,12 @@
+
+
+
+ netstandard2.0
+
+
+
+
+
+
+
+
diff --git "a/\345\221\250\344\270\200\345\270\206/WebApi.Domain/EfRespository.cs" "b/\345\221\250\344\270\200\345\270\206/WebApi.Domain/EfRespository.cs"
new file mode 100644
index 0000000..406ba31
--- /dev/null
+++ "b/\345\221\250\344\270\200\345\270\206/WebApi.Domain/EfRespository.cs"
@@ -0,0 +1,82 @@
+using Microsoft.EntityFrameworkCore;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using WebApi.Data;
+
+namespace WebApi.Domain
+{
+ public class EfRespository : IRespository where T : BaseEntity
+ {
+
+ private readonly Admin3000Context db;
+
+ public EfRespository(Admin3000Context Dbcontext)
+ {
+ db = Dbcontext;
+ }
+
+ private DbSet _entity;
+
+ protected DbSet Entity
+ {
+ get
+ {
+ if (_entity == null)
+ {
+ _entity = db.Set();
+ }
+ return _entity;
+ }
+ }
+ public IQueryable Table
+ {
+ get
+ {
+ return _entity;
+ }
+ }
+
+ public void Delete(T entity)
+ {
+ this.Entity.Remove(entity);
+ db.SaveChanges();
+ }
+
+ public void Delete(int id)
+ {
+ var row = Table.Where(x => x.Id == id).FirstOrDefault();
+ Delete(row);
+ }
+
+ public void Insert(T entity)
+ {
+ Entity.Add(entity);
+ db.SaveChanges();
+ }
+
+ public void InsertBulk(IEnumerable list)
+ {
+ Entity.AddRange(list);
+ db.SaveChanges();
+ }
+
+ public void Update(T entity)
+ {
+ Entity.Update(entity);
+ db.SaveChanges();
+ }
+
+ public void DeletedBulk(IEnumerable entities)
+ {
+ Entity.RemoveRange(entities);
+ db.SaveChanges();
+ }
+
+ public T GetById(int id)
+ {
+ return Entity.Where(x => x.Id == id).FirstOrDefault();
+ }
+ }
+}
diff --git "a/\345\221\250\344\270\200\345\270\206/WebApi.Domain/Enum/LogsLevel.cs" "b/\345\221\250\344\270\200\345\270\206/WebApi.Domain/Enum/LogsLevel.cs"
new file mode 100644
index 0000000..ec61091
--- /dev/null
+++ "b/\345\221\250\344\270\200\345\270\206/WebApi.Domain/Enum/LogsLevel.cs"
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WebApi.Domain.Enum
+{
+ public enum LogsLevel
+ {
+
+ 信息 = 10,
+ 调试 = 20,
+ 警告 = 30,
+ 错误 = 40,
+ 崩溃 = 50,
+
+ }
+}
diff --git "a/\345\221\250\344\270\200\345\270\206/WebApi.Domain/IRespository.cs" "b/\345\221\250\344\270\200\345\270\206/WebApi.Domain/IRespository.cs"
new file mode 100644
index 0000000..e8d402e
--- /dev/null
+++ "b/\345\221\250\344\270\200\345\270\206/WebApi.Domain/IRespository.cs"
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace WebApi.Domain
+{
+ interface IRespository
+ {
+ IQueryable Table { get; }
+ void Insert(T entity);
+
+ void InsertBulk(IEnumerable list);
+
+ void Update(T entity);
+
+
+ void Delete(T entity);
+
+ void Delete(int id);
+
+ void DeletedBulk(IEnumerable entities);
+
+ T GetById(int id);
+ }
+}
diff --git "a/\345\221\250\344\270\200\345\270\206/WebApi.Domain/WebApi.Domain.csproj" "b/\345\221\250\344\270\200\345\270\206/WebApi.Domain/WebApi.Domain.csproj"
new file mode 100644
index 0000000..53ffe1f
--- /dev/null
+++ "b/\345\221\250\344\270\200\345\270\206/WebApi.Domain/WebApi.Domain.csproj"
@@ -0,0 +1,15 @@
+
+
+
+ netstandard2.0
+
+
+
+
+
+
+
+
+
+
+
diff --git "a/\345\221\250\344\270\200\345\270\206/WebApi.Implement/WebApi.Implement.csproj" "b/\345\221\250\344\270\200\345\270\206/WebApi.Implement/WebApi.Implement.csproj"
new file mode 100644
index 0000000..9f5c4f4
--- /dev/null
+++ "b/\345\221\250\344\270\200\345\270\206/WebApi.Implement/WebApi.Implement.csproj"
@@ -0,0 +1,7 @@
+
+
+
+ netstandard2.0
+
+
+
diff --git "a/\345\221\250\344\270\200\345\270\206/WebApi.InterFace/EfRespository.cs" "b/\345\221\250\344\270\200\345\270\206/WebApi.InterFace/EfRespository.cs"
new file mode 100644
index 0000000..dd32286
--- /dev/null
+++ "b/\345\221\250\344\270\200\345\270\206/WebApi.InterFace/EfRespository.cs"
@@ -0,0 +1,49 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using WebApi.Data;
+using WebApi.Data.Entity;
+
+namespace WebApi.InteFace
+{
+ public class EfRespository : IRespositorywhere T : BaseEntity
+ {
+ public IQueryable Table => throw new NotImplementedException();
+
+ public void Delted(T entity)
+ {
+ throw new NotImplementedException();
+ }
+
+ public void Delted(int id)
+ {
+ throw new NotImplementedException();
+ }
+
+ public T Getbyid(int id)
+ {
+ throw new NotImplementedException();
+ }
+
+ public void Insert(T entity)
+ {
+ throw new NotImplementedException();
+ }
+
+ public void InsertBulk(IEnumerable List)
+ {
+ throw new NotImplementedException();
+ }
+
+ public void Update(T entity)
+ {
+ throw new NotImplementedException();
+ }
+
+ public void InsertBulk(Users[] user)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git "a/\345\221\250\344\270\200\345\270\206/WebApi.InterFace/IRespository.cs" "b/\345\221\250\344\270\200\345\270\206/WebApi.InterFace/IRespository.cs"
new file mode 100644
index 0000000..92d3aff
--- /dev/null
+++ "b/\345\221\250\344\270\200\345\270\206/WebApi.InterFace/IRespository.cs"
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace WebApi.InteFace
+{
+ public interface IRespository
+ {
+ IQueryable Table { get; }
+
+ T Getbyid(int id);
+
+ void Insert(T entity);
+
+ void InsertBulk(IEnumerable List);
+
+ void Update(T entity);
+
+ void Delted(T entity);
+
+ void Delted(int id);
+ }
+}
diff --git "a/\345\221\250\344\270\200\345\270\206/WebApi.InterFace/WebApi.InteFace.csproj" "b/\345\221\250\344\270\200\345\270\206/WebApi.InterFace/WebApi.InteFace.csproj"
new file mode 100644
index 0000000..56356ba
--- /dev/null
+++ "b/\345\221\250\344\270\200\345\270\206/WebApi.InterFace/WebApi.InteFace.csproj"
@@ -0,0 +1,11 @@
+
+
+
+ netstandard2.0
+
+
+
+
+
+
+
diff --git "a/\345\221\250\344\270\200\345\270\206/WebApi.Service/WebApi.Service.csproj" "b/\345\221\250\344\270\200\345\270\206/WebApi.Service/WebApi.Service.csproj"
new file mode 100644
index 0000000..9f5c4f4
--- /dev/null
+++ "b/\345\221\250\344\270\200\345\270\206/WebApi.Service/WebApi.Service.csproj"
@@ -0,0 +1,7 @@
+
+
+
+ netstandard2.0
+
+
+
diff --git "a/\345\221\250\344\270\200\345\270\206/WebApi.Text/WebApi.Text.csproj" "b/\345\221\250\344\270\200\345\270\206/WebApi.Text/WebApi.Text.csproj"
new file mode 100644
index 0000000..9f5c4f4
--- /dev/null
+++ "b/\345\221\250\344\270\200\345\270\206/WebApi.Text/WebApi.Text.csproj"
@@ -0,0 +1,7 @@
+
+
+
+ netstandard2.0
+
+
+
diff --git "a/\345\221\250\344\270\200\345\270\206/WebApi.Util/Dbinitializer.cs" "b/\345\221\250\344\270\200\345\270\206/WebApi.Util/Dbinitializer.cs"
new file mode 100644
index 0000000..782048e
--- /dev/null
+++ "b/\345\221\250\344\270\200\345\270\206/WebApi.Util/Dbinitializer.cs"
@@ -0,0 +1,60 @@
+using Microsoft.Extensions.DependencyInjection;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using WebApi.Data;
+using WebApi.Data.Entity;
+using WebApi.InteFace;
+
+namespace WebApi.Utils
+{
+ public class Dbinitializer
+ {
+ public class DbInitializeHelper
+ {
+ public static void Initialize(IServiceProvider serviceProvider)
+ {
+ using (var scope = serviceProvider.CreateScope())
+ {
+ var db = scope.ServiceProvider.GetService(typeof(Admin3000Context)) as Admin3000Context;
+
+ var _userRespository = scope.ServiceProvider.GetService(typeof(IRespository)) as EfRespository;
+
+ var _roleRespository = scope.ServiceProvider.GetService(typeof(IRespository)) as EfRespository;
+
+ db.Database.EnsureCreated();
+
+ var tempRole = db.Users.Any();
+
+ if (!tempRole)
+ {
+ var role = new Roles
+ {
+ RolesName = "管理",
+ Description = "超管"
+ };
+
+ _roleRespository.Insert(role);
+
+ _userRespository.InsertBulk(new Users[]
+ {
+ new Users
+ {
+ UsersName="zzz",
+ PassWord="123456789",
+ RoleId=role.Id
+ },
+ new Users
+ {
+ UsersName="bbq",
+ PassWord="123456789",
+ RoleId=role.Id
+ }
+ });
+ }
+ }
+ }
+ }
+ }
+}
diff --git "a/\345\221\250\344\270\200\345\270\206/WebApi.Util/Filters/GlobalExceptionFilter.cs" "b/\345\221\250\344\270\200\345\270\206/WebApi.Util/Filters/GlobalExceptionFilter.cs"
new file mode 100644
index 0000000..f58fae7
--- /dev/null
+++ "b/\345\221\250\344\270\200\345\270\206/WebApi.Util/Filters/GlobalExceptionFilter.cs"
@@ -0,0 +1,49 @@
+using log4net;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Web.Http.ExceptionHandling;
+using System.Web.Http.Filters;
+
+namespace WebApi.Utils.Filters
+{
+ public class GlobalExceptionFilter : IExceptionFilter
+ {
+ private readonly ILog _log;
+
+ public GlobalExceptionFilter(ILog log)
+ {
+ _log = log;
+ }
+
+ public bool AllowMultiple => throw new NotImplementedException();
+
+ public Task ExecuteExceptionFilterAsync(HttpActionExecutedContext actionExecutedContext, CancellationToken cancellationToken)
+ {
+ throw new NotImplementedException();
+ }
+
+ public void OnException(ExceptionContext context)
+ {
+ _log.Error(context.Exception);
+
+ if (context.ExceptionHandled == false)
+ {
+ context.Result = new ContentResult
+ {
+ Content = context.Exception.Message,
+ StatusCode = StatusCodes.Status200OK,
+ ContentType = "text/html;charset=utf-8"
+ };
+ }
+ context.ExceptionHandled = true;
+ }
+
+
+
+ }
+}
diff --git "a/\345\221\250\344\270\200\345\270\206/WebApi.Util/WebApi.Utils.csproj" "b/\345\221\250\344\270\200\345\270\206/WebApi.Util/WebApi.Utils.csproj"
new file mode 100644
index 0000000..24d060d
--- /dev/null
+++ "b/\345\221\250\344\270\200\345\270\206/WebApi.Util/WebApi.Utils.csproj"
@@ -0,0 +1,18 @@
+
+
+
+ netstandard2.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git "a/\345\221\250\344\270\200\345\270\206/WebApi.sln" "b/\345\221\250\344\270\200\345\270\206/WebApi.sln"
new file mode 100644
index 0000000..456b77d
--- /dev/null
+++ "b/\345\221\250\344\270\200\345\270\206/WebApi.sln"
@@ -0,0 +1,67 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29613.14
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebApi.InteFace", "WebApi.InterFace\WebApi.InteFace.csproj", "{C4C6275E-B7CF-480D-9521-08DBFAF36165}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebApi.Text", "WebApi.Text\WebApi.Text.csproj", "{AE73EC1F-8C31-4CF8-9991-DAC30A248C34}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebApi.Domain", "WebApi.Domain\WebApi.Domain.csproj", "{BDB17EFA-2B64-486B-922E-F474936BE2C0}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebApi.Utils", "WebApi.Util\WebApi.Utils.csproj", "{B7EEF456-AA9D-4C08-9C24-89B7CA200C1D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebApi.Service", "WebApi.Service\WebApi.Service.csproj", "{0D78F115-624D-4D23-AB28-FAC94674B5A6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebApi.Implement", "WebApi.Implement\WebApi.Implement.csproj", "{7B34541E-039A-44CF-B0BC-0210999FE85A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebApi.Data", "WebApi.Data\WebApi.Data.csproj", "{1B4DA895-4EEB-43A9-ACAC-0C5E88F8C491}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebApi.Api", "WebApi.Api\WebApi.Api.csproj", "{CF639F92-CDA9-4DC0-958E-27670A657D95}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {C4C6275E-B7CF-480D-9521-08DBFAF36165}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C4C6275E-B7CF-480D-9521-08DBFAF36165}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C4C6275E-B7CF-480D-9521-08DBFAF36165}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C4C6275E-B7CF-480D-9521-08DBFAF36165}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AE73EC1F-8C31-4CF8-9991-DAC30A248C34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AE73EC1F-8C31-4CF8-9991-DAC30A248C34}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AE73EC1F-8C31-4CF8-9991-DAC30A248C34}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AE73EC1F-8C31-4CF8-9991-DAC30A248C34}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BDB17EFA-2B64-486B-922E-F474936BE2C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BDB17EFA-2B64-486B-922E-F474936BE2C0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BDB17EFA-2B64-486B-922E-F474936BE2C0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BDB17EFA-2B64-486B-922E-F474936BE2C0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B7EEF456-AA9D-4C08-9C24-89B7CA200C1D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B7EEF456-AA9D-4C08-9C24-89B7CA200C1D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B7EEF456-AA9D-4C08-9C24-89B7CA200C1D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B7EEF456-AA9D-4C08-9C24-89B7CA200C1D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0D78F115-624D-4D23-AB28-FAC94674B5A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0D78F115-624D-4D23-AB28-FAC94674B5A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0D78F115-624D-4D23-AB28-FAC94674B5A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0D78F115-624D-4D23-AB28-FAC94674B5A6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7B34541E-039A-44CF-B0BC-0210999FE85A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7B34541E-039A-44CF-B0BC-0210999FE85A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7B34541E-039A-44CF-B0BC-0210999FE85A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7B34541E-039A-44CF-B0BC-0210999FE85A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1B4DA895-4EEB-43A9-ACAC-0C5E88F8C491}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1B4DA895-4EEB-43A9-ACAC-0C5E88F8C491}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1B4DA895-4EEB-43A9-ACAC-0C5E88F8C491}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1B4DA895-4EEB-43A9-ACAC-0C5E88F8C491}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CF639F92-CDA9-4DC0-958E-27670A657D95}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CF639F92-CDA9-4DC0-958E-27670A657D95}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CF639F92-CDA9-4DC0-958E-27670A657D95}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CF639F92-CDA9-4DC0-958E-27670A657D95}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {7A6084C4-6416-4B4F-A66F-07D4C0E2D03E}
+ EndGlobalSection
+EndGlobal
--
Gitee