实体框架核心可以运行SqlQuery吗?

时间:2018-08-03 19:13:47

标签: c# entity-framework-core

我在.Net Framework中有此代码。没问题。

    // no problem in .net core
    public bool ExecuteQuery(string query, params object[] parameters)
    {
        return _context.Database.ExecuteSqlCommand(query, parameters) > 0;
    }
在实体框架核心中找不到

SqlQuery

    public List<T> SqlQuery(string query, params object[] parameters)
    {
        var result = _context.Database.SqlQuery<T>(query, parameters).ToList();
        return result;
    }

    public object ExecuteNonQuery(string query, params object[] parameters)
    {
        var result = _context.Database.SqlQuery<string>(query, parameters);
        return result;
    }

如何在.net core 2.1中编写相同的代码?

1 个答案:

答案 0 :(得分:1)

您无法在EF Core中执行SqlQuery,它需要定义POCO类和该类的DbSet。然后,您可以像这样使用它:

using (var context = new SampleContext())
{
    var books = context.Books.FromSql("SELECT * FROM Books").ToList();
}