【问题标题】:Entity Framework Core 2.1 - Generic Model in FromSql methodEntity Framework Core 2.1 - FromSql 方法中的通用模型
【发布时间】:2018-08-14 14:24:34
【问题描述】:

我一直在使用以下方法在 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();
}

【问题讨论】:

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


    【解决方案1】:

    试试下面的代码。

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

    【讨论】:

      【解决方案2】:

      您可以调用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

      【讨论】:

        猜你喜欢
        • 2018-12-01
        • 2018-09-29
        • 2019-05-12
        • 2019-06-08
        • 2019-04-13
        • 1970-01-01
        • 1970-01-01
        • 2023-03-14
        • 1970-01-01
        相关资源
        最近更新 更多