自动映射存储过程结果

时间:2017-06-03 19:09:24

标签: entity-framework stored-procedures mapping .net-core

我想知道是否有任何方法可以将存储过程结果映射到类中。 这就是我所拥有的:

//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核心(代码优先)

谢谢

1 个答案:

答案 0 :(得分:0)

您不需要将类型设置为实体类型(通过在DbContext中注册DbSet)。只需要一个返回IEnumerable<StoredProcResults>的方法(可以在你的DbContext中),并在其中运行

dbContext.Database.SqlQuery<StoredProcResults>(...)

请参阅Database.SqlQuery <T>(...)