Я хочу провести рефакторинг некоторых модулей C #, которые читают данные из SQL Server 2008 через Linq-to-SQL.Эти хранимые процедуры выбирают не более одной строки, потому что я передаю полный PK в качестве параметров.Очевидно, что Linq-to-SQL не знает, что может быть возвращено не более одной строки.В результате следующий код запускается, чтобы получить одно значение или вызвать исключение:
var results = context.MyProcName(myParameter);
foreach (var result in results)
{
return result.THeColumnINeed;
}
throw new Exception(string.Format("Value not found for parameter {0}", myParameter));
Этот код выполняет свою работу, но он выглядит некрасиво.Как я могу сделать это лучше?