【发布时间】:2018-10-12 21:32:19
【问题描述】:
首先使用代码,我创建了一个我调用的存储过程
_context.MySQLModel.FromSql
我只是为存储过程创建了 MySQLModel,我不想在数据库中创建一个具有该名称的表。
所以在我指定的模型中[NotMapped]:
public class MySQLModel
{
[Key]
public int IdMySQLModel { get; set; }
public string Something { get; set; }
public string SomethingTwo { get; set; }
}
在我添加的 ApplicationDbContext 中
public DbSet<MySQLModel> MySQLModel { get; set; }
及以下
protected override void OnModelCreating(ModelBuilder builder)
包括
builder.Ignore<MySQLModel>();
在执行时,它会失败并显示以下消息:
System.InvalidOperationException:无法为“MySQLModel”创建 DbSet,因为此类型未包含在上下文模型中。
所以我继续注释掉
//builder.Ignore<MySQLModel>();
再次运行,完美运行。我继续修改或创建一个新模型,执行“添加迁移”,生成表的代码正在迁移中。
有没有办法得到它,这样它就不会为新表创建代码并仍然执行存储过程?
谢谢!
【问题讨论】:
标签: c# entity-framework stored-procedures asp.net-core