2016-12-07 5 views
-3

Я пытаюсь вызвать функцию с именем connectUser, которая принимает 2 аргумент, имя и пароль и возвращает идентификатор (номер)Как вызвать функцию Entity Framework

Проблема заключается в том, что она не работает, и я получаю NotSupportedException брошенные вместо.

int userID; 

    [EdmFunction("Model.Store", "connectUser")] 
    public static int connectUser(String loginName, String loginPass) 
    { 
     throw new NotSupportedException("Direct calls are not supported."); 
    } 

    private void btnSignIn_Click(object sender, EventArgs e) 
    { 
    userID = (Int32)connectUser(loginName.Text, loginPass.Text); 
    } 

Любая идея, что происходит? Я пробовал несколько учебников и основывался на том, что они говорят, он должен работать. Но для меня он игнорирует атрибут [EdmFunction("Model.Store", "connectUser")].

+0

Каждый учебник, который я читал, сказал, что он будет игнорировать throw notsuppported, поскольку он перегружен [EdmFunction («Model.Store», «connectUser»)]. Код функции хранится в базе данных. Точкой этой функции является подключение к базе данных, функция вызова и предоставление ей атрибутов, а затем получение результата. Я знаю, что он подключается к базе данных, так как другие функции, такие как создание новых пользовательских работ, но не этот – Ifridius

ответ

1

Вы получаете исключение NotSupportedException, потому что это то, что вы говорите логике :). throw new NotSupportedException("Direct calls are not supported.");. Вам нужно перейти на логику так, как вам нужна функция connectUser.

+0

каждый учебник, который я прочитал, сказал, что он будет игнорировать throw notsuppported, поскольку он перегружен [EdmFunction («Model.Store», «connectUser»)] , Код функции хранится в базе данных. Точкой этой функции является подключение к базе данных, функция вызова из SQL-сервера, а не создание нового в C#, и предоставление ему атрибутов, а затем получение результата. Я знаю, что он подключается к базе данных, так как другие функции, такие как создание новых пользовательских работ, но не этот – Ifridius

+0

Как вы видите здесь: https://msdn.microsoft.com/en-us/library/dd456847(v=vs.110). aspx, как я делаю, это правильно. Вы знаете, что такое структура сущности и как ее использовать? Что-то не так, но не в «throw new NotSupportedException (« Прямые вызовы не поддерживаются »); так как он будет проигнорирован. – Ifridius

+0

@Ifridius, вы сделали шаг 2 этой статьи MSDN и поместили определение функции в ваш файл edmx? – Adrian

Смежные вопросы