0

モデルファーストアプローチを使用してMVC3を使用してWebサイトを開発しています。

「従業員」モデルに「ユーザー名」というフィールドがあります。そして、このフィールドは一意のフィールドでも外部キーでもありません。私のアプリケーション要件はusername should be unique, and if user enters duplicate value then it show error messageです。

私のmvcプロジェクトでは、クラスライブラリとしてエンティティフレームワークを作成し、モデルクラスにアクセスするためのmvcプロジェクトにその参照を追加しました。これは、私のWebサイト用に作成したエンティティフレームワークに関連しています。

EFモデルの最初のアプローチを使用して、モデル自体でこれを行う方法は?

4

2 に答える 2

0

私は自分のプロジェクトでその種の問題に苦しみました。私はasp.netアプリケーションに取り組んでいて、それは求人ポータルなので、候補の電子メールIDは一意なので、そのようにチェックしてこの問題を解決します。iteは下にあります

フォームで

<div id="dvErrorMessage" style="display: none;" title="Message">
    <p>
        Please Registered with different EmailId.This is allready exists.</p>
</div>


 $("#txtEmailID").blur(function (e) {
            if (document.getElementById("txtEmailID").value == "") {
                document.getElementById("txtEmailID").focus();
                document.getElementById("lblEmailID").innerHTML = "Please Enter Email ID";
                document.getElementById("imgEmailID").src = "images/cross-sign.png";
            }
else {
                e.preventDefault();
                var EmailID = $("#txtEmailID").val();
                var url = "JsonData.asmx/GetCompanyEmailAccessbility";
                var emailformate = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
                $.ajax({
                    type: "POST",
                    url: url,
                    contentType: "application/json; charset=utf-8",
                    dataType: 'json',
                    data: '{EmailID:"' + EmailID + '"}',
                    success: function (msg) {
                        var data = msg.d;
                        if (data == 0) {
                            if (emailformate.test(document.getElementById("txtEmailID").value) == false) {
                                document.getElementById("imgEmailID").src = "images/cross-sign.png";
                                document.getElementById("lblEmailID").innerHTML = "Please Enter Valid Email ID";
                                document.getElementById("txtEmailID").focus();
                                return false;
                            }
                            else {
                                document.getElementById("imgEmailID").src = "images/right-sign.png"
                            }
                        }
                        else {
                            if ($("#dvErrorMessage").css('display') == 'none') {
                                $("#dvErrorMessage").css('display', 'block');
                                $("#dvErrorMessage").dialog({
                                    autoOpen: false,
                                    modal: true,
                                    width: 400,
                                    resizable: false,
                                    height: 200,
                                    buttons: {
                                        "OK": function (e) {
                                            e.preventDefault();
                                            $(this).dialog('close');
                                            document.getElementById("txtEmailID").focus();
                                            document.getElementById("imgEmailID").src = "images/cross-sign.png";
                                        }
                                    }
                                });

                                $("#dvErrorMessage").dialog('open');
                            }
                            else {
                                $("#dvErrorMessage").dialog({
                                    autoOpen: false,
                                    modal: true,
                                    width: 400,
                                    resizable: false,
                                    height: 200,
                                    buttons: {
                                        "OK": function (e) {
                                            e.preventDefault();
                                            $(this).dialog('close');
                                            document.getElementById("txtEmailID").focus();
                                            document.getElementById("imgEmailID").src = "images/cross-sign.png";
                                        }
                                    }
                                });

                                $("#dvErrorMessage").dialog('open');
                            }
                        }
                    }
                });
            }
        });
    }

私のWebサービスで

 public List<CompanyData> GetCompanyEmailAccessbility(string EmailID)
        {
            PresenterData objpreseData = new PresenterData();
            LMGDAL.db_LMGEntities dbData = new db_LMGEntities();
            var dataAccessibility = dbData.tblCompanies.Where(x => x.CompanyEmailId == EmailID).ToList().Select(item => new CompanyData { EmailID = item.CompanyEmailId }).ToList();
            return dataAccessibility.ToList();
        }
于 2013-01-11T07:15:52.847 に答える
0

モデルのユーザーフィールドの上の [Key] 表記を使用して、この要件を設定できると思います。確信はないけど :)

于 2012-10-04T12:22:54.950 に答える