当前位置: 首页 > news >正文

网站建设一定要买数据盘吗南京制作网站速成班

网站建设一定要买数据盘吗,南京制作网站速成班,建湖住房和城乡建设局网站,桂林十里画廊现在有两张表#xff0c;结构一模一样#xff0c;我又不想创建两个一模一样的model#xff0c;就想一个model映射到两张表 废话不多说直接上代码 安装依赖包 创建model namespace oneModelMultiTable.Model {public class Test{public int id { get; set; }public string…现在有两张表结构一模一样我又不想创建两个一模一样的model就想一个model映射到两张表 废话不多说直接上代码 安装依赖包 创建model namespace oneModelMultiTable.Model {public class Test{public int id { get; set; }public string name { get; set; }public string tablename { get; set; }} }创建DBContext 我们需要使用tablename 动态指定表名因此需要在DBContext中添加这个属性 namespace oneModelMultiTable {public class DBHelper:DbContext{public DbSetTest testConfigs { get; set; }public string tablename { get; set; }public DBHelper(DbContextOptionsDBHelper options):base(options){}protected override void OnModelCreating(ModelBuilder modelBuilder){modelBuilder.EntityTest(b {b.ToTable(tablename);b.HasKey(p p.id);});base.OnModelCreating(modelBuilder);//modelBuilder.ApplyConfigurationsFromAssembly(this.GetType().Assembly);}} } 创建DynamicModelCacheKeyFactory 继承IModelCacheKeyFactory using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; namespace oneModelMultiTable {public class DynamicModelCacheKeyFactory : IModelCacheKeyFactory{public object Create(DbContext context, bool designTime){object p context is DBHelper dynamicContext? (context.GetType(), dynamicContext.tablename): (object)context.GetType();return p;}} }依赖注入 builder.Services.AddDbContextDBHelper(options {options.UseNpgsql(Host192.168.214.133;Port32222;Databasepostgresdb;Usernamepostgresadmin;Passwordadmin123).ReplaceServiceIModelCacheKeyFactory, DynamicModelCacheKeyFactory(); });创建controller using Microsoft.AspNetCore.Mvc; using oneModelMultiTable.Model;// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID397860namespace oneModelMultiTable.Controllers {[Route(api/[controller]/[action])][ApiController]public class TestController : ControllerBase{public readonly DBHelper dBHelper;public TestController(DBHelper _DBHelper){dBHelper _DBHelper;}// GET: api/TestController[HttpGet]public ListTest Get(string tablename){dBHelper.tablename tablename;return dBHelper.testConfigs.ToList();}} } 原理 你可能想通过ToTable()方法来更改表名但是我们如何在OnModelCreating方法中更改表名呢?当EF构建模型时它只运行OnModelCreating一次。 对于这个场景我们需要通过使用IModelCacheKeyFactory来更改默认映射它允许我们连接到模型缓存机制以便EF可以根据其属性创建不同的模型。 EF使用IModelCacheKeyFactory为模型生成缓存键。 https://yanxiaodi.medium.com/mapping-the-model-to-multiple-tables-with-entityframework-core-b46bdeed8661 https://medium.com/pawel.gerr/entity-framework-core-changing-database-schema-at-runtime-dcf1211768c6 https://github.com/xdqt/asp.net-core/tree/master/oneModelMultiTable
http://www.w-s-a.com/news/628259/

相关文章:

  • 五莲网站建设维护推广凡科做网站的方法
  • 山东省住房建设厅网站首页网站文章更新怎么通知搜索引擎
  • 商务网站的可行性分析包括大流量网站 优化
  • 推广网站有效的方法网站数据统计
  • 自建视频网站WordPress数据库添加管理员
  • 新民电商网站建设价格咨询网站建设高效解决之道
  • 做网站需要哪些步骤网站设计介绍
  • 物流网站制作目的国外中文网站排行榜单
  • 苏州网站建设招标网站ftp的所有权归谁
  • 未央免费做网站河间网站建设
  • 酒庄企业网站app制作多少钱一个
  • 西安模板建网站网站如何做直播轮播
  • 网站功能需求表百度怎么投放自己的广告
  • 如何免费制作网站网站icp备案费用
  • 网站建设最新教程wordpress表白墙
  • android电影网站开发网站建设与设计实习报告
  • 公司汇报网站建设方案烟台seo网站推广
  • 文章网站哪里建设好找素材的网站
  • 怎么做自己的彩票网站公司建设网站价格
  • 国外比较好的设计网站网站后台无法上传图片
  • 帮别人做网站的公司是外包吗用户登录
  • 关于我们网站模板小莉帮忙郑州阳光男科医院
  • 上海门户网站怎么登录永州网站制作
  • 微信网站模版下载做销售的去哪个网站应聘
  • 好看的个人博客主页长安网站优化公司
  • 企业网站关站大型综合新闻门户网站织梦模板
  • 网站优化排名易下拉效率查企业网站
  • 网站建设湛江关于汽车的网站
  • 南宁模板建站多少钱企业黄页名单
  • 企业网站的建设一般要素有网站定制公司地址