我将存储过程从DB导入实体模型,您能告诉我如何使用它并传递参数吗?
我在NinjecetWebCommon中注册了我的DBContext:
kernel.Bind<DbContext>().To<MyDbContext>().InRequestScope();
现在我想从MyProcedure获取数据,但是我收到错误:
“CMS_MyProcedure_Result”类型被映射为复杂类型。 Set方法,DbSet对象和DbEntityEntry对象只能是 与实体类型一起使用,而不是复杂类型。
这就是我想要的方式:
public class MyRepository : BaseRepository<Product>, IMyRepository
{
public MyRepository(DbContext _dbContext)
: base(_dbContext)
{
}
public IQueryable<ProductDisplayDTO> GetProducts(int catId, int languageId)
{
return = _dbContext.Set<CMS_MyProcedure_Result>();
}
}
当使用Ninject(依赖注入)时,是否有可能使用参数调用存储过程?
谢谢!
答案 0 :(得分:0)
一种可能的方法是: -
public class StoredProcedure
{
public List<CMS_MyProcedure_Result> GetCMSResult({StoredProcedureParameters})
{
return _dbContext.CMS_MyProcedure({StoredProcedureParameters}).ToList();
}
}
你可以称之为
StoredProcedure storedProcedure = new StoredProcedure();
List<CMS_MyProcedure_Result> cmsResult = storedProcedure.GetCMSResult({StoredProcedureParameters});