Я создал функцию Azure, которая соединяется с Azure SQL DB и выполняет прямые команды SQL. Теперь я хотел бы использовать LINQ. Я использовал Visual Studios для создания файла определения, но я не уверен, как ссылаться на файл определения после загрузки в функцию. Приведенный ниже код получает ошибку:Как настроить файл определения для использования LINQ в Azure Function?
error CS1061: 'SqlConnection' does not contain a definition for 'Customers' and no extension method 'Customers' accepting a first argument of type 'SqlConnection' could be found (are you missing a using directive or an assembly reference?)
Вот код, который я есть для Azure функции:
using System.Net;
using Dapper;
using System.Data.SqlClient;
using System.Configuration;
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
log.Info($"C# HTTP trigger function processed a request. RequestUri={req.RequestUri}");
var cnnString = ConfigurationManager.ConnectionStrings["SqlConnection"].ConnectionString;
var connection = new SqlConnection(cnnString);
var result = from r in connection.Customers select r;
foreach (var r in result)
{
log.Info(r.squid);
}
log.Info("Log added to database successfully!");
return req.CreateResponse(HttpStatusCode.OK);
}
Я мог бы быть неправильно, но всякий раз, когда используется объект 'SqlConnection', ему необходимо сопоставить w /' SqlCommand' ('SqlCommand' запускает запрос и использует метод ExecuteReader для выбранных операторов). Чтобы использовать 'LINQ', таблицы должны анализироваться на объекты (например, в Entity Framework). Следующая ссылка - «LINQ to SQL», а не «Entity Framework» (которую я рекомендую) - https://weblogs.asp.net/scottgu/linq-to-sql-part-3-querying-our-database - Пожалуйста, поправьте меня, если я ошибаюсь –
Спасибо за комментарий Роб. Если необходим DataContext, я все еще не уверен, как это сделать в Azure Function. Веб-сайт, на который вы ссылаетесь, говорит о том же методе, который я пытаюсь использовать выше, но не в функции Azure. –
Можете взглянуть на этот пост. Обратите внимание, что вы не обертываете свой объект 'SqlConnection' в' using' statement', и вы не открываете соединение. (это не относится к вашей ошибке, хотя -http: //www.codeproject.com/Articles/1110663/Azure-Functions-Tutorial-SQL-Database –