赞
踩
.NET Core 基本配置加Swagger
#region 添加Swagger services.AddSwaggerGen(options => { options.IncludeXmlComments($"{AppDomain.CurrentDomain.BaseDirectory}/HrManagementSystem.WebApi.xml", true); }); #endregion //配置跨域处理,允许所有来源 services.AddCors(r => r.AddPolicy("cors", n => { n.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod(); })); services.AddControllers().AddNewtonsoftJson(options => { // 忽略循环引用 options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; // 不使用驼峰 options.SerializerSettings.ContractResolver = new DefaultContractResolver(); // 设置时间格式 options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss"; // 如字段为null值,该字段不会返回到前端 // options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore; }); } /// <summary> /// //此方法由运行时调用。使用此方法配置HTTP请求管道。 /// </summary> /// <param name="app"></param> /// <param name="env"></param> /// <param name="loggerFactory"></param> public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } #region 添加log4net loggerFactory.AddLog4Net(); #endregion app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); // 添加Swagger有关中间件 app.UseSwagger(); // 配置SwaggerUI app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "CoreWebApi"); }); //允许所有跨域,cors是在ConfigureServices方法中配置的跨域策略名称 //注意:UseCors必须放在UseRouting和UseEndpoints之间 app.UseCors("cors"); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); //log4net配置 ```xml <?xml version="1.0" encoding="utf-8"?> <log4net> <!-- Define some output appenders --> <appender name="rollingAppender" type="log4net.Appender.RollingFileAppender"> <file value="log\log.txt" /> <!--追加日志内容--> <appendToFile value="true" /> <!--防止多线程时不能写Log,官方说线程非安全--> <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> <!--可以为:Once|Size|Date|Composite--> <!--Composite为Size和Date的组合--> <rollingStyle value="Composite" /> <!--当备份文件时,为文件名加的后缀--> <datePattern value="yyyyMMdd.txt" /> <!--日志最大个数,都是最新的--> <!--rollingStyle节点为Size时,只能有value个日志--> <!--rollingStyle节点为Composite时,每天有value个日志--> <maxSizeRollBackups value="20" /> <!--可用的单位:KB|MB|GB--> <maximumFileSize value="5MB" /> <!--置为true,当前最新日志文件名永远为file节中的名字--> <staticLogFileName value="true" /> <!--输出级别在INFO和ERROR之间的日志--> <!--过滤级别 FATAL > ERROR > WARN > INFO > DEBUG--> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="WARN" /> <param name="LevelMax" value="FATAL" /> </filter> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/> </layout> </appender> <root> <priority value="ALL"/> <level value="ALL"/> <appender-ref ref="rollingAppender" /> </root> </log4net>
//MVC .NET core 简单配置
//此方法由运行时调用。使用此方法将服务添加到容器中。 //有关如何配置应用程序的更多信息,请访问https://go.microsoft.com/fwlink/?LinkID=398940 public void ConfigureServices(IServiceCollection services) { services.AddControllersWithViews(); services.AddSession(); services.AddHttpClient(); } //此方法由运行时调用。使用此方法配置HTTP请求管道。 public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.UseSession(); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseStaticFiles(); app.UseRouting(); //配置注册MVC的路由 app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller}/{action}/{id?}"); }); }
//.NET 使用EF
public HrSqlcontext() { } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { //读取数据库链接字符串 //动态读取配置文件下得字符串 ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();//构建一个配置容器 IConfigurationBuilder configurationBuilder1 = configurationBuilder.AddJsonFile("appSettings.json"); //下载这个配置文件Microsoft.Extensions.Configuration.Json var buid = configurationBuilder1.Build();//编译构建一次 optionsBuilder.UseSqlServer(buid["Dbcontent"]); } /// <summary> /// 招聘顾问表 /// </summary> public DbSet<Counselor> DBCounselor { get; set; } /// <summary> /// 部门表 /// </summary> public DbSet<Department> DBDepartment { get; set; }
NetCore3.1 使用EntityFrameCore
1.通过Nuget包安装三个软件(最好三个)
EntityFrameworkCore.Sql Server
Microsoft.EntityFrameworkCore.Tools
Microsoft.Extensions.Configuration.Json
2.EntityFramework Core 进行数据迁移
在Vs2019 Tools>Nuget Package Manager>Package Manger Tools 使用
Add-Migration XXXX 进行数据迁移
3.如果迁移出错处理
对VS 2019中ASP.NET Core项目解决:The term ‘Add-Migration’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name
错误如上:
3.1 编译项目。首次在项目中添加EF Core后,这一步必须做,否则都找不到后续要导入的 EntityFrameworkCore.psd1 模块
3.2 找到前述文件的位置,使用Import-Module命令导入。我这里为: Import-Module C:\Users{用户名}.nuget\packages\microsoft.entityframeworkcore.tools{efcore版本号}\tools\EntityFrameworkCore.psd1
执行信息如下:
注意:如果还出错,就重启VS,Add-Migration Xxxx,Update-DataBase即可
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。