2016-12-07 12 views
-3

私は(数)を2つの引数、名前とパスワードを取得してIDを返しconnectUserと呼ばれる関数を呼び出すしようとしています呼び出す方法関数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

すべてのチュートリアル私はそれが[EdmFunction( "Model.Store"、 "connectUser")]によってオーバーロードされているのでnotsuppportedをスローすることを無視すると言っています。関数のコードはデータベースに格納されます。この関数のポイントは、データベースに接続して関数を呼び出し、属性を与えてから結果を得ることです。私はそれが新しいユーザーの作品を作成するような他の関数以来、この1つではない – Ifridius

答えて

1

あなたはロジックに何をするかを教えてくれるので、NotSupportedExceptionが発生します。 throw new NotSupportedException("Direct calls are not supported.");。 connectUser関数で何をしたいかを論理に変更する必要があります。

+0

私はそれが[EdmFunction( "Model.Store"、 "connectUser")によってオーバーロードされているのでnotsuppportedをスロー無視すると述べたすべてのチュートリアル] 。関数のコードはデータベースに格納されます。この関数のポイントは、データベースに接続し、SQL Serverから関数を呼び出して、C#で新しい関数を作成せず、属性を与えてから結果を取得することです。私はそれがデータベースに接続することを知っています。新しいユーザーの作品を作成するなどの他の機能があるからです。 – Ifridius

+0

こちらをご覧ください:https://msdn.microsoft.com/en-us/library/dd456847(v=vs.110) aspx私はそれをやっている方法は正しいです。エンティティフレームワークが何であり、どのように使用するのか知っていますか?何かが間違っていますが、 "NotSupportedExceptionをスローする("直接呼び出しはサポートされていません) ";それは無視されるからです。 – Ifridius

+0

@Ifridius、そのMSDN記事のステップ2を行い、関数定義をedmxファイルに入れましたか? – Adrian

関連する問題