2017-06-03 116 views
0

我想知道是否有任何方法将存储过程结果映射到类中。 这是我有:AutoMapping存储过程结果

//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>(); 

但这带来了一个例外: “不能为‘StoreProcedureModelResult’创建一个DbSet因为这种类型没有在模型上下文包括”

我只是想用映射的利益,而不是得到一个表的创建,这是一个简单的模型(非的EntityType)

BTW

-NetCore 1.1 -API -EF核心(代码优先)

谢谢

+0

你可以使用小巧精致,它会映射SP的结果对象 – Lenny32

回答

0

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

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

Database.SqlQuery<T>(...)