0

User.Identity を介して現在のユーザー ID を取得しようとしましたが、無駄に 、次のことを行うように私を導いたこの投稿を見つけました: 私はこの投稿Guid userGuid = (Guid)Membership.GetUser().ProviderUserKey; と同じ間違いを経験しました! ただし、提供されたソリューションは私の場合は機能しませんでした。私はアカウントモデルを持っています

 public class Account
{

    public int ID { get; set; }
    ......

}

作成した課金情報を現在ログインしているユーザーに紐付けしたいので、以下を提案通りやってみました

 if (User.Identity.IsAuthenticated)
            {
                Guid userGuid = (Guid)Membership.GetUser().ProviderUserKey;
                billinginfo.User = db.AccountSet
                                   .Where(x => x.ID == userGuid).FirstOrDefault();  
            }

そして私は明らかなエラーがあります:

演算子 '==' は型 'int' および 'System.Guid' のオペランドには適用できませんこの投稿から回答を得ることができませんでし た Guid を int に変換しようとしましたが、変換が最大であるため、間違った ID が生成されました64ビットまで

だから私は現在ログインしているユーザーを取得し、彼のすべての属性にアクセスできるようにしたい

どんな助けでも大歓迎です!

4

1 に答える 1

1

整数を GUID と比較することはできません。意味がありません。2 つのテーブルを関連付けるには、両方で同じデータ型の列を使用する必要があります。

于 2012-08-23T06:05:05.330 に答える