Попробуйте использовать метод FromSql
, который позволяет передать команду SQL, которая будет выполнена для базы данных, чтобы вернуть экземпляры типа, представленного DbSet
.
// Format string
var author = db.Authors.FromSql("SELECT * From Authors Where AuthorId = {0}", id).FirstOrDefault();
// String interpolation
var author = db.Authors.FromSql($"SELECT * From Authors Where AuthorId = {id}").FirstOrDefault();
DbContext предоставляет свойство Database
, которое включает метод с именем ExecuteSqlCommand
.Этот метод возвращает целое число, указывающее количество строк, на которые влияет оператор SQL, переданный ему.
using(var context = new SampleContext())
{
var commandText = "INSERT Categories (CategoryName) VALUES (@CategoryName)";
var name = new SqlParameter("@CategoryName", "Test");
context.Database.ExecuteSqlCommand(commandText, name);
}
Вы можете потратить некоторое время на изучение Выполнение необработанных запросов SQL