2

nopCommerceに基づいてMVC3を使用してMVCベースの電子商取引アプリケーションを構築しています。私は郵便番号に基づいて特定の製品の販売を制限する必要があります。たとえば、スリングショットの販売はニューメキシコ州では違法です。したがって、あなたが私たちの視力から銃声を購入しようとすると、あなたの郵便番号がニューメキシコ州である場合、あなたはショッピングカートにリダイレクトされ、商品を購入できない旨を通知します。データベースに照会してMVCと一致するものを見つけよう3

これを達成するために、郵便番号のSQLCEデータベースを作成し、bool値としてRestrictedを指定しました。チェックアウトプロセス中に顧客が指定した郵便番号を取得し、作成したデータベースと比較して、制限されているかどうかを判断します。次に、結果に基づいて注文を処理するif文を使用します。

私はMVC3と.Netには一般的なので、私の経験は事実上nullです。私の研究は、これを行うためのいくつかの方法があることを示しているようです(Linq To SQL、Entity Frameworks、ETC)。これは本当ですか?この比較を達成するために最も効率的なものは何ですか?

編集

さらに読みになった後、私は私の質問は、より具体的になります。どのように私はデータベースに "ねえ、あなたはこのジッパーを持っていますか?" EntityにLinqを使用していますか?

+3

http://www.asp.net/mvc/tutorials/nerddinner/introducing-the-nerddinner-tutorialここに投稿されている回答は、フレームワークに精通していないと意味がありません。 –

+0

あなたが送ったリンクに示唆しているように私はMVC Music Storeのチュートリアルで実際に作業していましたので、おそらく私の経験レベルを過小評価しました。それにもかかわらず、私はかなり緑色です。 –

+0

もし私ができれば、私はたぶんアプローチを変えるだろう。最後に待つのではなく(彼はいくつかの法律に基づいて商品の半分を買うことができないという驚きをユーザに与えてくれる)彼がログインした後にその情報を取得することができます。今すぐ手元にあるので、現在の郵便番号に基づいて商品を表示することができます。こうすることで、彼はショッピングカートにこの商品を追加できないことを当初から知っています。これはより積極的ではないでしょうか?ちょうど尋ねる! – Vlince

答えて

1

さらに読んだ後、私はより具体的な質問をします。どうすればいいですか dbに "おい、あなたはこのジッパーを持っていますか?" EntityにLinqを使用していますか?

あなたの質問への答えは、このような単純なことができます:

var hasZip = db.BannedZipSet.Count(z => z.Zip == userZip) > 0; 

LINQのツーエンティティは、SQLステートメントにLINQの式を変換します。

ただし、Entity Frameworkをはじめて設定する際の学習曲線がありますので、考慮してください。

+0

それはそうであるようです。エンティティとしてdbを使用する必要がありますか(つまり、制限された権限)ですか? –

+0

また、Entity Frameworkではなく、あなたが提案するメソッドがありますか? –

+0

私はWindowsプラットフォーム上でEFが好きです。問題のために1つのテーブルマッピングだけが必要なように見えるので、始めるのは難しくありません。 – ken

関連する問題