asp.net webapi mysql_ASP.NET Core WebApi + Microsoft.EntityFrameworkCore 连接 Mysql/Sqlserver 的项目框架搭建...

这是一个 .net Core 下的 webapi + EntityFrameworkCore 连接 Mysql/Sqlserver 的简单项目架构。

主要包括四个子项目:

DomainModel 数据模型和DAO接口

DataAccessProvider 自定义DbContext和DAO接口的实现

JK.GISService .net core webapi(api接口) 配置数据库连接,自定义DbContext 和 DAO接口实现类的依赖注入

JK.GISApp .net core webapplication(前端页面和js)

构建环境和核心引用库

.net core 1.0.1

"Microsoft.EntityFrameworkCore.SqlServer": "1.0.1",

"SapientGuardian.EntityFrameworkCore.MySql": "7.1.14"

"Microsoft.EntityFrameworkCore": "1.0.1",

"Microsoft.EntityFrameworkCore.Design.Core": "1.0.0-preview2-final",

"NETStandard.Library": "1.6.0"

DomainModel

包含用来测试的两个数据模型类 tabBaseInfo 和 tabProjectInfo 对应数据库中的 tabBaseInfo 表和 tabProjectInfo

IDataAccessProvider 对数据模型进行操作的DAO接口

`public class tabBaseInfo {

[Key]

public Guid id { get; set; }

///

/// 初始化地图url

///

public string initMapURL { get; set; }

///

/// 地图坐标系

///

public string mapProject { get; set; }

///

/// 初始化位置x

///

public double initX { get; set; }

///

/// 初始化位置y

///

public double initY { get; set; }

///

/// 初始化缩放比例

///

public double initScale { get; set; }

///

/// 初始化图层ID集合 已弃用

///

public string initLayers { get; set; }

///

/// 是否开始加载图层列表

///

public int addLayerList { get; set; }

///

/// 是否开始加载鹰眼

///

public int addOverviewMap { get; set; }

///

/// 是否开始加载缩放比例

///

public int addScaleLine { get; set; }

///

/// 是否初始化加载比例尺

///

public int addZoomBar { get; set; }

///

/// 项目编号 关联项目表的主键

///

public Guid pjid { get; set; }

}

DataAccessProvider

包含自定义DbContext

DataAccessMssqlProvider 对DomainModel.IDataAccessProvider 接口的实现,实现具体的业务操作

public class DomainModelContext : DbContext{

public DomainModelContext(DbContextOptions options) : base(options) {

}

public DbSet tabBaseInfo { get; set; }

public DbSet tabProjectInfo { get; set; }

protected override void OnModelCreating(ModelBuilder builder)

{

builder.Entity().HasKey(m => m.id);

builder.Entity().HasKey(m => m.id);

base.OnModelCreating(builder);

} }

JK.GISService

webapi 项目 编写api接口 引用 DataAccessProvider子项目,配置DataAccessProvider 中自定义DbContext和 DAO的实现类DataAccessMssqlProvider 的依赖注入

依赖注入配置说明

在 startup.cs 中的方法 ConfigureServices 中增加 自定义DbContext和DAO的注入如下:

public void ConfigureServices(IServiceCollection services)

{

// Add framework services.

services.AddMvc();

string sqlConnectionString = null;

string connType = Configuration.GetSection("connType").Value;

if ("mysql" == connType)

{

sqlConnectionString = Configuration.GetSection("ConnectionStrings:DataAccessMySqlProvider").Value;

services.AddDbContext(options =>

options.UseMySQL(

sqlConnectionString,

b => b.MigrationsAssembly("JK.GISService")

)

);

}

else {

sqlConnectionString = Configuration.GetSection("ConnectionStrings:DataAccessMsSqlServerProvider").Value;

services.AddDbContext(options =>

options.UseSqlServer(

sqlConnectionString

) );

}

services.AddScoped();

}

`

JK.GISApp

前端web项目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值