У меня есть запрос (простой оператор SELECT
), который возвращает Id и Name, где Id is int
и Name is string
. Запрос возвращает результат в SSMS. Я пытаюсь получить эту запись, используя EF в моем приложении MVC. Я могу получить это значение, если я создаю собственный класс, но не использую dictionary
. Второй вариант не выдает никакой ошибки, но имеет нулевую запись.
Как прочитать значение, не создавая пользовательский класс?
C # Логика:
// Option-1 = Works
var sql = @"SELECT UnitNumber,
UnitName
FROM dbo.MyTable
WHERE Id = @p0
AND ScriptId = @p1";
var result = context.Database.SqlQuery<MyClass>(sql, callCenterId, id);
public class MyClass
{
public int UnitNumber { get; set; }
public string UnitName { get; set; }
}
// Option-2 = Doesn't Work
var sql = @"SELECT UnitNumber,
UnitName
FROM dbo.MyTable
WHERE Id = @p0
AND ScriptId = @p1";
var result = context.Database.SqlQuery<Dictionary<int, string>>(sql, callCenterId, id);
SQL-запрос:
SELECT UnitNumber,
UnitName
FROM dbo.MyTable
WHERE Id = 1
AND ScriptId = 10
Вывод SQL:
UnitNumber UnitName
----------- -----------
9 Universal