在Database-First中,将视图添加到EDMX中相对容易。我们如何在Code-First中做到这一点?
我们可以在自定义迁移类中使用Code First创建视图。
public partial class AddNewView : DbMigration
{
public override void Up()
{
Sql("CREATE VIEW [dbo].[NewView] AS ...");
}
public override void Down()
{
Sql("DROP VIEW dbo.[NewView]");
}
}但是,我们如何访问DbContext中的视图呢?
对于表,我们可以将域模型添加到DbContext中并进行一些配置。
public virtual DbSet<Person> Persons { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new PersonConfiguration());
}将视图添加到DbContext的正确方法是什么?
发布于 2018-08-15 18:16:21
这感觉有点老土,但我最终要做的是:
public virtual DbSet<TableName> TableNames { get; }添加到迁移中的Up()和Down()方法。并添加视图创建/删除SQL脚本:
public override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.Sql("CREATE VIEW [dbo].[NewView] AS ...");
}
public override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.Sql("DROP VIEW dbo.[NewView]");
}https://stackoverflow.com/questions/51848704
复制相似问题