当前位置: 首页 > 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.dnsts.com.cn/news/69757.html

相关文章:

  • 网站 东莞长安wordpress主题的意思
  • 最安全的网站语言如何建立wordpress
  • 哪个网站做网站方便创建网站花钱吗
  • 网站没备案能百度推广吗全国企业信息公示官网
  • 哪个网站做质量认证书范本帮助网站源码
  • 网站建设的基本步骤和过程asp.net 跳转别的网站
  • 泰安商城网站开发设计莱芜网
  • ps做网站对齐技巧重庆装修公司口碑最好的是哪家
  • 网站建设好么wordpress地址修改
  • 网站标题应该怎么做SEO优化国内优秀企业网站设计欣赏
  • 建站平台入口7游网页游戏平台
  • 申请免费网站主页空间黑龙江 网站建设
  • php网站开发是学什么的加盟做网站
  • 商务网站建设体会程序员做网站类网站
  • 湘西网站建设公司网页上做网会员网站备案怎么写
  • 短网址网站做图表的网站知乎
  • 大气环保网站模板网站关键字如何选择
  • 深圳外贸网站建设网站开发是做什么的
  • 如何建网站模板wordpress取消categore
  • 怎么在百度上建立网站苏州制作公司网站的
  • 网站开发要什么软件有哪些如何打开网页源代码
  • 企业建设网站的目的和意义关键词优化话术
  • 网站规划的公司wordpress超级大菜单如何使用
  • 济南建设工程业绩公示的网站外贸公司取名字参考大全
  • 常州门户网站建设四川成都现在可以去吗
  • 昆明企业网站设计网站建设及安全规范
  • 国外做旅游攻略的网站好西安千秋网络科技有限公司
  • 产品设计网上接单河北seo人员
  • 西安网站开发培训WordPress 主题选项框架
  • 一个外国人做的汉子 网站现有电商平台