实体框架核心2.1-FromSql方法中的通用模型

时间:2018-08-14 14:24:34

标签: entity-framework-core entity-framework-core-2.1

我一直在使用以下方法在EF core 2.1中调用存储过程

在DBContext中

public DbQuery<SomeModel> SomeModels { get; set; }

班级

var result = context.SomeModels.FromSql("SQL_SCRIPT").ToList();

我正在尝试创建一个通用方法来执行所有存储过程,这样就不必在每次调用存储过程时都将模型附加到上下文中。我正在寻找类似我下面的内容(忽略语法)。请指教。

public Response SoftDelete<T>(T entity) where T : class
{
    var result = context.<T>.FromSql("SQL_SCRIPT").ToList();
}

2 个答案:

答案 0 :(得分:0)

试试下面的代码。



    var result = context.Set<T>().FromSql("SQL_SCRIPT").ToList();


答案 1 :(得分:-1)

您可以调用await _databaseContext.Database.ExecuteSqlCommandAsync(storedProcedureName);await _databaseContext.Database.ExecuteSqlQuery方法来运行查询或存储过程。您只需要在使用DBContext的任何地方将其注入类即可。

参考:

https://msdn.microsoft.com/en-us/library/system.data.entity.database.executesqlcommandasync(v=vs.113).aspx

https://msdn.microsoft.com/en-us/library/system.data.entity.database.sqlquery(v=vs.113).aspx