Как обрабатывать ObjectResult в Entity Framework 4

В Entity Framework 4 я сталкиваюсь с проблемой, когда использую импорт функции в хранимую процедуру, а затем использую ее как скалярное значение. Он генерирует следующий код:

public virtual ObjectResult<Nullable<int>> GetTopEmployee()
{
    return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<Nullable<int>("GetTopEmployee");
}

Как мне использовать возвращаемое значение этого метода?

Например, этот код работает нормально:

NorthwindEntities db = new NorthwindEntities();
var i = db.GetTopEmployee();

Но я хочу использовать возвращаемые значения только как int. Если я использую возвращаемое значение как non во время импорта функции, оно дает -1 в качестве вывода.

Когда я пробую следующий код:

NorthwindEntities db2 = new NorthwindEntities();
int j = db.GetTopEmployee();

Он выдает ошибку:

Невозможно неявно преобразовать тип «System.Data.Objects.ObjectResult» в «int»

Как мне проанализировать приведенное выше?

33
задан alex 9 April 2015 в 18:50
поделиться