2012-02-17 22 views
1

ASP.NET Webサイトのユーザーモデルでは、Guid IdとString UserNameの両方が一意であることが必要です。 Entity Frameworkを使用してモデルオブジェクトをDBにマップします。ASP.NET MVC 3のモデルでIdとUserNameを一意にする

ASP.NET MVCでこの共通の制約を容易にするビルドイン属性やその他のメカニズムはありますか?または、ユーザー登録フォームでユーザー名の一意性を手動で確認する必要がありますか?

答えて

3

第1に、私の意見では、MVC、またはフロントエンドアプリケーションはこれを行う責任を負いません。

一意のIDと一意のユーザー名は、データベースに適用する必要がある制約です。そうでなければ、ユーザーを登録する唯一の方法はWebサイトからのものであることを前提としています。

エンティティフレームワークには、一意制約を適用するための属性があります。詳細はこちらhttp://blogs.msdn.com/b/efdesign/archive/2011/03/09/unique-constraints-in-the-entity-framework.aspx

最後に、ユーザーのIDに関しては、フロントエンドアプリケーションではなく、データベース内でこれらを自動生成することを検討します。

+1

よろしくお願いいたします。ありがとうございます。これは一種の明白なことですが、私が現在しなければならないようにあなたが単独でプログラムするとき、私はアーキテクチャのいくつかの小さなものを忘れる傾向があります。ありがとうございました。 –

+1

私はこれを1年前に経験しました。それは学ぶのに最適な方法です。うだち;-) –

0

何かが組み込まれている可能性がありますが、EFを使用しているため、一意の値を確認することは1行か2行です。

bool uniqueGuid = Users.Any(u => u.Id == "guid"); 
bool uniqueUser = Users.Any(u => u.UserName == "username"); 
関連する問題