2017-03-15 3 views
2

ユーザー認証を使用してASPNETCORE MVC Webアプリケーションを作成するデータベースを最初に使用するアプローチで、IdentityUserクラスのパラメータをクエリする方法をオーバーライドしたいと思います。データベース。理由は、IdentityUserの現在の実装では、2つの新しいパラメータNormalizedEmailとNormalizedUserName(これは私の意見では正規化から収縮しています)です。存在しないテーブルフィールドのMS SQLサーバーへのC#モデルクラスパラメータ呼び出しの制限

Modelクラスに以下のコードを記述して、2つのパラメータがデータベースのクエリに含まれないようにする方法はありますか、コントローラクラスで行う必要がありますか?

public class IdentityUser : Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUser 
{ 
    public override string NormalizedUserName 
    { get { return null; } set { value = null; } } 
    public override string NormalizedEmail 
    { get { return null; } set { value = null; } } 
} 

答えて

1

これまで私が言うことができるように、両方のパラメータは、データモデルの一部であり、としてのアイデンティティ3.0について、この問題に#351

を説明していない:

...代わりに、我々は計算正規化されたユーザー名 を別の列に格納して、正規化されたユーザー名 による検索がsargableになるようにします。

換言すれば、もしあなたあなたは正確にクラスが何を意図し、反対をしていることでしょう本質的に「IdentityUserクラスからのパラメータは、データベースに照会する方法をオーバーライドします」。

+0

これは、オーバーライドパラメータ/メソッドのポイントであり、基本クラスについて何かを変更します。また、部分的にプログラミングすることは、物事、dllクラス、メソッドのインポートや参照を変換できることです。 – Edward

関連する問題