.net core EF oracle db first
发布时间:2020-12-30 12:13:51 所属栏目:百科 来源:网络整理
导读:Nuget控制台: Install-Package log4netInstall-Package Newtonsoft.JsonInstall-Package AutofacInstall-Package Autofac.Extensions.DependencyInjectionInstall-Package AutoMapperInstall-Package DapperInstall-Package Microsoft.Extensions.OptionsIn
|
Nuget控制台: Install-Package log4net Install-Package Newtonsoft.Json Install-Package Autofac Install-Package Autofac.Extensions.DependencyInjection Install-Package AutoMapper Install-Package Dapper Install-Package Microsoft.Extensions.Options Install-Package Microsoft.Extensions.Caching.Abstractions Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design Install-Package Oracle.EntityFrameworkCore Install-Package Oracle.ManagedDataAccess.Core Install-Package Microsoft.EntityFrameworkCore Install-Package Microsoft.EntityFrameworkCore.Relational Install-Package Microsoft.EntityFrameworkCore.Design Install-Package Microsoft.EntityFrameworkCore.Tools Scaffold-DbContext -Force "Data Source=" Oracle.EntityFrameworkCore-OutputDir Models/DataModels -Context MyDbContext -Schemas aaa -Tables bbb
Scaffold命令格式:
Startup.cs public class Startup
{
//log4net日志
public static ILoggerRepository LogRepository { get; set; }
public IConfiguration Configuration { get; }
public Startup(IConfiguration configuration)
{
Configuration = configuration;
Init();
}
public void Init()
{
// 加载log4net日志配置文件
LogRepository = LogManager.CreateRepository("NETCoreRepository");
XmlConfigurator.Configure(LogRepository,new FileInfo("log4net.config"));
LogHelper.RepositoryName = LogRepository.Name;
// appSettings 配置类初始化
//ConfigHelper.Init(Configuration.GetSection("appSettings"));
// 唯一Id生成器
//SnowflakeInit.Init(Configuration);
// 邮件初始化
//MailInit.Init(Configuration);
// 系统启动日志
LogHelper.Write("TestApi Start()");
}
/// <summary>
/// 此方法由运行时调用。使用此方法向容器添加服务。
/// This method gets called by the runtime. Use this method to add services to the container.
/// </summary>
public IServiceProvider ConfigureServices(IServiceCollection services)
{
//注册Cookie认证服务
//services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie();
// 添加MemoryCache
services.AddMemoryCache();
// 支持HttpContext
services.AddHttpContextAccessor();
services.AddSingleton<IHttpContextAccessor,HttpContextAccessor>();
// 实现小写的路由URL
services.AddRouting(options => options.LowercaseUrls = true);
// 添加自动映射
//services.AddAutoMapper();
// 对 JSON 数据使用混合大小写。驼峰式,但是javascript 首字母小写形式. 默认值
// services.AddMvc().AddJsonOptions(options => { options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); });
services.AddMvc().AddJsonOptions(options =>
{
// 忽略循环引用
options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
// 对 JSON 数据使用混合大小写。跟属性名同样的大小.输出
options.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.DefaultContractResolver();
// 格式化json日期
options.SerializerSettings.Converters.Add(new Newtonsoft.Json.Converters.IsoDateTimeConverter { DateTimeFormat = "yyyy‘-‘MM‘-‘dd‘ ‘HH‘:‘mm‘:‘ss‘.‘fff" });
// long型转string
options.SerializerSettings.Converters.Add(new Utils.LongToStringConverter());
});
//配置跨域处理,允许所有来源:
services.AddCors(options =>
{
options.AddPolicy("cors",set =>
{
set.SetIsOriginAllowed(origin => true). //允许任何来源的主机访问
AllowAnyHeader().
AllowAnyMethod().
AllowCredentials(); //指定处理cookie
});
});
// 添加EF Oracle支持
services.AddDbContext<MyDbContext>(options => options.USEOracle(Configuration.GetConnectionString("OracleConnectionString")));
// 如果使用SQL Server 2008数据库,请添加UseRowNumberForPaging的选项
// 参考资料:https://github.com/aspnet/EntityFrameworkCore/issues/4616
// options.UseSqlServer(Configuration.GetConnectionString("MyDbContent"),b=>b.UseRowNumberForPaging())
// 添加Dapper
//services.AddDapper("OracleConnection",options =>
//{
// options.ConnectionString = Configuration.GetConnectionString("OracleConnectionString");
// options.DbType = DbStoreType.Oracle;
/ |
站长推荐
热点阅读

