Linq to SQL - 实体框架代码首先配置每个实体的架构



在 LINQ to SQL 中,有一个非常简单的约定来告诉映射器要使用什么数据库模式 - [Table(Name = "SchemaName.TableName")]

EF CF 4.1 中是否有类似内容?我宁愿不在实体类中使用注释来使它们尽可能纯净。为了保持我的项目进展,我会做出牺牲。

这个问题很接近,但不完全是我需要的。它甚至可能已过时,因为它看起来指的是自最近的 EF 4.1 版本(实体框架 4:代码优先 - 在另一个架构中创建数据库)以来已重命名或具有重大更改的类?MapSingleType?

编辑:我还应该提到我的应用程序目前有三个模式,所以我不一定能使用仅将默认模式从"dbo"更改为"其他模式"的解决方案。

链接的答案很旧,它不起作用,因为自定义约定已从最终版本中删除。如果要更改架构的名称,可以使用流畅的api:

public class Context : DbContext
{
    public DbSet<YourType> YourTypeSet { get; set; }
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        modelBuilder.Entity<YourType>().ToTable("TableName", "SchemaName");
    }
}

相关内容

  • 没有找到相关文章

最新更新