2017-11-30 7 views
0

有効なユーザーロールのみをユーザーにマッピングしたいと考えています。このコード行を使用してプロパティを使用することはできませんので、エラーをスローしています....ここで私は達成しようとしているものの例です。有効なカスタムユーザーロールのみをユーザーにマッピングする

今すぐ(where句なし)は、無効な0と1のすべてのuserrolesレコードを返します。私の目標は、invalid(無効)が0の唯一のuserrolesレコードを取得することです。

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    {  
     modelBuilder.Entity<CustomUserRole>().ToTable("AspNetUserRoles", "dbo").Where(u => !u.Invalid); 

     base.OnModelCreating(modelBuilder);        
    } 
} 

DBスキーマ(ノートが無効COLを追加):

enter image description here

+0

あなたの問題はどこですか?私たちはあなたの心の中に座っていません。 –

+0

@TomaszJuszczakまあ、本質的にエラーは問題ではありません。私はAspNetUserRolesテーブルのレコードを、そのテーブルのInvalidカラムの値がfalse(またはそれ以来0であるので0)にマップするようにしています。それは私が立ち往生している場所です。 – tshoemake

+1

[インターセプタ](https://msdn.microsoft.com/en-us/library/dn469464(v=113).aspx)が一方向かもしれません。それがどのようにアイデンティティになるのかはわかりません。この1つのテーブルだけであれば、リポジトリまたはコントローラでそれをさらに処理することになります。 –

答えて

0

私は、この私の正確な問題への適切な解決策を見つけることができなかったんので、代わりにdbo.AspNetUserRoleテーブル用softdeletesを使用してのIハードな削除に変更しました。ログインすると、Identityはそのユーザーのすべてのロールを返しますが、「無効な」ユーザーはもうそれ以上ありません。