2010-09-13 9 views
7

मेरे पास एएसपी.NET सदस्यता, एंटीटी फ्रेमवर्क 4 जगह और एमबी एसक्यूएल 2008 डीबी के लिए एक वेबसाइट है।एएसपी.Net सदस्यता - इकाई फ्रेमवर्क में प्रदाता 4

मैं जानना चाहता हूं कि एएसपी.NET सदस्यता का उपयोग करना डेटाबेस के साथ बातचीत को इकाई फ्रेमवर्क का उपयोग करके पास किया जाएगा?

आपकी मदद के लिए धन्यवाद!

उत्तर

8

यदि आप एक कस्टम सदस्यता प्रदाता चाहते हैं, तो आपको केवल एक वर्ग बनाने की आवश्यकता है जो सदस्यता प्रदाता अमूर्त वर्ग को प्राप्त करे। फिर आपको वैल्यूडेट यूज़र, अपडेट यूज़र, गेटयूसर इत्यादि जैसे अमूर्त तरीकों को लागू करने की आवश्यकता होगी। आप अपनी कस्टम सदस्यता प्रदाता विधियों को लागू करते समय EntityFramework का उपयोग कर सकते हैं।

दस्तावेजों के नीचे odbc का उपयोग करने के साथ कस्टम सदस्यता प्रदाता को लागू करें। आप odbc के बजाय अपनी EntityModel का उपयोग कर सकते हैं।

http://msdn.microsoft.com/en-us/library/44w5aswa.aspx

http://msdn.microsoft.com/en-us/library/6tc47t75.aspx

+8

प्रश्न में कहीं भी कस्टम प्रदाता कार्यान्वयन का उल्लेख नहीं है। मैं अक्सर लोगों को वास्तव में समस्या डोमेन को समझने से पहले कस्टम प्रदाता स्टैक को लागू करने का सुझाव देता हूं। -1 –

+1

लेकिन सवाल भी समझ में नहीं आता है, और यह एक अच्छा सामान्य जवाब है। – fabspro

6

नहीं है, SqlMembership, साथ ही Sql ढेर में अन्य प्रदाताओं, उपयोग संग्रहित प्रक्रियाओं सीधे कहा जाता है।

यदि आप चाहें तो, यदि आप चाहें तो अपने एस्पनेट_डीबी डेटाबेस के शीर्ष पर एक ईएफ वैचारिक मॉडल बनाएं, यदि आप इसकी जांच करना या उससे बातचीत करना चाहते हैं।

लेकिन मुझे दृढ़ता से सलाह दें कि आपको इसे केवल पढ़ने के रूप में व्यवहार करना चाहिए जबतक कि आप यह नहीं जानते कि आप वास्तव में क्या अपडेट करना चाहते हैं या हटा देना चाहते हैं।

10

नकारात्मक को हटाने के लिए मूसा के उत्तर पर उपरोक्त। कस्टम सदस्यता प्रदाता का कोई उल्लेख नहीं है, लेकिन इसका मतलब यह नहीं है कि यह जवाब नहीं है।

वह सही जगह पर है, फ्रेमवर्क के साथ कोई ईएफ 4 विशिष्ट प्रदाता नहीं भेजा गया है लेकिन आप अपना खुद का निर्माण कर सकते हैं।

यह वास्तव में समस्या डोमेन को समेकित करता है, जिसमें आप सदस्यता को अलग-अलग ब्लैक बॉक्स के रूप में उपयोग करने के बजाय उपयोगकर्ताओं को अपनी शेष इकाई वस्तुओं में आसानी से लिंक कर सकते हैं, जिसे आपको टिप-टॉइंग करना है।

ऐसा करने का तरीका वास्तव में सदस्यता प्रदाता से विरासत में और अमूर्त तरीकों को लागू करने का तरीका है।

एक बार ऐसा करने के बाद आप SQLMembership तालिकाओं को तोड़ने और डिफ़ॉल्ट रूप से प्राप्त की गई संग्रहीत प्रक्रियाओं को तोड़ने के डर में रहने के बजाय आप जो कुछ भी चाहते हैं, कर सकते हैं - जो मुझे बदसूरत के रूप में उपयोग करना पसंद नहीं है।

मैंने अपने स्वयं के ईएफ 4 मॉडल का उपयोग करके, अपने स्वयं के ईएफ 4 मॉडल का उपयोग करके यह किया है। मैंने इस वीडियो के साथ आया नमूना कोड का उपयोग किया - http://www.asp.net/general/videos/how-do-i-create-a-custom-membership-provider। बीटीडब्ल्यू अगर आप उस नमूना कोड का उपयोग करते हैं, तो संग्रहीत प्रक्रिया नामों में कुछ टाइपो के लिए देखें!

+0

टिप्पणी के लिए धन्यवाद! – GibboK

+0

क्या सी # के लिए एक समान ट्यूटोरियल है? धन्यवाद! – mishap

+0

@Chuchelo डाउनलोड सी # कोड विकल्प है, लेकिन कोई वीडियो नहीं है। सी # उपलब्ध वीडियो के साथ वीडियो का पालन करना मुश्किल नहीं है। – GerManson