表的 ORM 和前缀

Posted

技术标签:

【中文标题】表的 ORM 和前缀【英文标题】:ORM and prefixes for the tables 【发布时间】:2015-11-13 13:11:42 【问题描述】:

任务这个,在数据库中注册客户时我们需要创建一组具有唯一前缀的表,一般可以用EF实现吗?

【问题讨论】:

我真的认为最好的管理方法是使用模式。 【参考方案1】:

我没有对此进行测试,但它应该可以工作,或者至少是一个很好的起点。首先,您需要告诉上下文您将使用的前缀,我会在构造函数中执行此操作。然后在 OnModelCreating 覆盖中,为表名使用前缀:

public class MyContext : DbContext

    private readonly string _prefix;

    public MyContext(string prefix)
    
        _prefix = prefix;
    

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    
        modelBuilder.Types()
            .Configure(entity => entity.ToTable(_prefix + entity.ClrType.Name));
    


【讨论】:

以上是关于表的 ORM 和前缀的主要内容,如果未能解决你的问题,请参考以下文章

一张表的不同表前缀?

授予对具有特定前缀的多个表的权限

创建基于前缀联合特定表的视图

Google BigQuery:具有重复名称的联接表的所有列的前缀

批量mysql修改表前缀

Django 之 orm操作