-3

メソッドの return linq に関するソース コードの解決策を教えてください。次のような私のソースコード:

 public  int GetRole(string user, string pass)
    {
        TAEntities db = new TAEntities();
        var Hasil = from u in db.User
                    join r in db.Role
                    on u.id_Role equals r.id_Role
                    where u.userName == user && u.password == pass
                    select r.id_Role;

        return Hasil;
    }

私のソースコードはまだ間違っています。そして、今ソースコードを更新しています:

public  int GetRole(string user, string pass)
    {
        Tugas_AkhirEntities db = new Tugas_AkhirEntities();
        var Hasil = from u in db.User
                    join r in db.Role
                    on u.id_Role equals r.id_Role
                    where u.userName == user && u.password == pass
                    select r.id_Role;

        return Hasil.FirstOrDefault();
    }

このソースコードを追加して、値が変数 hasil に保存されているかどうかを確認します。

 if (model.GetRole(model.UserName,model.Password) == 1)
        {
            return RedirectToAction("Index", "Home");
        }

        else
            return RedirectToAction("Contact", "Home");

それについてもっと解決策を教えてもらえますか?

4

1 に答える 1

4

HasilIEnumerable<int>または でIQueryable<int>あり、メソッドは を返しますintFirstFirstOrDefaultSingleまたはSingleOrDefault例を使用して値の 1 つを選択する必要があります。

return Hasil.First();

または、メソッドの戻り値の型を または に変更しIEnumerable<int>ますIQueryable<int>

于 2013-06-30T15:06:46.613 に答える