我想知道是否有任何方法可以将存储过程结果映射到类中。 这就是我所拥有的:
//DbContext Class:
public DbSet<StoreProcedureModelResult> SPMR { get; set; }
//Service Class:
var result = ctx.Set<StoreProcedureModelResult>().FromSql("getXXXX p1 = {0},1).ToList();
这很好,但是,我使用的是DataBaseMigrations,每次添加一个这个东西都会创建StoreProcedureModelResult作为表...
我试图忽略它onModelCreating,
modelBuilder.Ignore<SPModels.test>();
但这带来了一个例外: &#34;无法为&#39; StoreProcedureModelResult&#39;创建DbSet。因为此类型未包含在上下文&#34;
的模型中我只想使用映射的好处,而不是创建表,这是一个简单的模型(非entityType)
顺便说一句
-NetCore 1.1 -API -EF核心(代码优先)
谢谢
答案 0 :(得分:0)
您不需要将类型设置为实体类型(通过在DbContext中注册DbSet)。只需要一个返回IEnumerable<StoredProcResults>
的方法(可以在你的DbContext中),并在其中运行
dbContext.Database.SqlQuery<StoredProcResults>(...)
请参阅Database.SqlQuery <T>
(...)