首页 > 数据库 >EF Core使用SharedTypeEntity,映射实体类到不同的数据库表(转载)

EF Core使用SharedTypeEntity,映射实体类到不同的数据库表(转载)

时间:2024-08-22 16:37:46浏览次数:14  
标签:Core 实体类 Name EF Set context new public SharedTypeEntity

我们可以借助EF Core的SharedTypeEntity,映射一个实体类到多个结构相同的数据库表:

public class User
{
    public int Id { get; set; }
    public string Name { get; set; }
}

public class SomeDbContext : DbContext
{
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        => optionsBuilder
            .UseSqlServer(Your.ConnectionString)
            .LogTo(Console.WriteLine, LogLevel.Information)
            .EnableSensitiveDataLogging();

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.SharedTypeEntity<User>("Male").ToTable("usr_male");
        modelBuilder.SharedTypeEntity<User>("Female").ToTable("usr_female");
    }
}

public class Program
{
    public static void Main()
    {
        using (var context = new SomeDbContext())
        {
            context.Database.EnsureDeleted();
            context.Database.EnsureCreated();

            context.Set<User>("Male").Add(new User {Name = "John"});
            context.Set<User>("Female").Add(new User {Name = "Mary"});
            context.SaveChanges();
        }

        using (var context = new SomeDbContext())
        {
            Console.WriteLine(context.Set<User>("Male").Single().Name);
            Console.WriteLine(context.Set<User>("Female").Single().Name);
        }
    }
}

 

原文链接

 

标签:Core,实体类,Name,EF,Set,context,new,public,SharedTypeEntity
From: https://www.cnblogs.com/OpenCoder/p/18374218

相关文章

  • UEFI SMM blog
    https://blog.csdn.net/robinsongsog/category_1417366.htmlhttps://blog.csdn.net/xiaopangzi313/category_8898913.htmlSMM详解https://maxwell.blog.csdn.net/article/details/9943325dxe如何跟smm沟通SMMCommunicationProtocolhttps://maxwell.blog.csdn.net/artic......
  • YSP_refs_cn_TOC0
    rhTNFR-Fc中文文献2005  2006  200720082009●2008-RA●2008-SpA●2008-其他●2009-RA●2009-SpA●2009-其他炎性关节炎●2009-其他20102011●2010-RA●2010-SpA●2010-其他关节炎及PsO●2010-适应症外和基础研究......
  • facefusion整合包cuda 环境报错解决: onnxruntime::ProviderLibrary::Get [ONNXRuntim
    在b站下载了一个up提供的facefusion整合包,运行go-web.bat报错报错信息如下:2024-08-1910:53:07.6316097[E:onnxruntime:Default,provider_bridge_ort.cc:1992onnxruntime::TryGetProviderInfo_CUDA]D:\a\_work\1\s\onnxruntime\core\session\provider_bridge_ort.cc:1637......
  • Codeforces Round 967 (Div. 2)-D
    CodeforcesRound967(Div.2)-D这些天在留校集训……我之前空余时间在看模电,最近在玩黑猴……九月开学了估计也不能闲下来……但这个博客我还是会抽空更新的╰(°▽°)╯Problem-D-Codeforces虽然代码写得特别丑陋,但好歹是我完全想的思路——自己还de了一天bug(゜ー゜)......
  • 【C++】定义类型别名的三种方式及其优缺点:typedef,#define 和 using
    引言类型别名是一种给已存在的类型创建一个新名字的方式。这个新的名字(别名)和原类型在语义上是完全相等的,可以在任何原类型可以使用的地方使用。类型别名并不创建一个新的类型,只是为了提高代码的可读性和可维护性。在C++中,可以使用typedef,#define或者using来定义别名。每......
  • FreeScheduler 在asp.net core 中使用依赖注入的方式进行注入使用
    1.创建SchedulerTask.cs类,代码如下publicclassSchedulerTask{privatereadonlyILogger<SchedulerTask>_logger;privatereadonlyIServiceScopeFactory_serviceScopeFactory;publicSchedulerTask(ILogger<SchedulerTask>logger,IServiceSc......
  • YSP_refs_cn_2011_OffL_BasicRes
    rhTNFR-Fc中文文献-2011-适应症外及基础研究 探索适应症外 随机对照试验[1][1]王载宇.益赛普对急性百草枯中毒中疗效的影响评价.医药前沿,2011,01(12):61-62.浏览文摘 案例报道[2-4][2]陈玲玲,吴文雅,施辛,等.重组人Ⅱ型肿瘤坏死因子受体-抗体融合蛋白治疗难......
  • YSP_refs_cn_2011_其他炎性关节炎
    rhTNFR-Fc中文文献-2011-其他炎性关节炎 银屑病关节炎 单臂观察[1-2][1]印斌. 益赛普联合甲氨蝶呤短期治疗银屑病关节炎临床观察.中国医疗前沿,2011,06(20):36-37.浏览文摘[2]印斌. 益塞普联合甲氨蝶呤短期治疗银屑病关节炎临床观察.中外妇儿健康:学术版,2011,19(6......
  • .NetCore里使用定时任务BackgroundService
    原文链接:https://blog.csdn.net/x1234w4321/article/details/140797306namespaceXCGWebApp.TimerService{///<summary>///后台定时任务///</summary>publicclassTimerBackgroundService:BackgroundService{protectedoverrid......
  • YSP_refs_cn_2011_SpA
    rhTNFR-Fc中文文献-2011-SpA 脊柱关节炎 随机对照试验[1-7][1]陈梅卿,陈娟,孙华瑜,等.重组人Ⅱ型肿瘤坏死因子受体-抗体融合蛋白治疗强直性脊柱炎的减量探索.中国实用医药,2011,06(25):1-3.浏览文摘[2]陈庆花,杨永红,邱悦群,等.益赛普治疗强直性脊柱炎有效性和......