मेरे पास ईएफ कोड पहले के आधार पर मॉडल हैं और मैं उन्हें डिफ़ॉल्ट सदस्यता प्रदाता के साथ उपयोग करना चाहता हूं, लेकिन मुझे नहीं पता कि मॉडल को सही तरीके से कैसे लिखना है, इसलिए यह मेरे सभी डेटा को टेबल को दोबारा शुरू करने पर मिटा नहीं देगा मॉडल में किए गए परिवर्तन।ईएफ कोड के साथ सदस्यता प्रदाता का उपयोग कैसे करें?
उत्तर
वर्तमान में (ईएफ 4.1 सीटीपी) ईएफ कोड पहले उस विकल्प में नहीं है। यदि आपने मॉडल में बदलाव किए हैं तो यह हमेशा एक टेबल छोड़ देता है।
अद्यतन:
एफई 4.1 आरटीएम आप एक कस्टम डेटाबेस प्रारंभकर्ता बना सकते हैं और डाटाबेस वस्तुओं और डेटा बोने के निर्माण निर्दिष्ट करने के लिए अनुमति देता है।
आप एसक्यूएल सर्वर का उपयोग कर रहे हैं, तो इस जाँच:
http://www.paragm.com/ef-v4-1-code-first-and-asp-net-membership-service/
लिंक अब सक्रिय नहीं है! – OverMars
इस परियोजना पर एक नज़र डालें
http://codefirstmembership.codeplex.com/
यह उपयोगकर्ताओं और भूमिकाओं के लिए इकाई वर्गों, साथ ही है एक roleprovider और सदस्यताप्रदाता कार्यान्वयन के रूप में। यदि आप अपने डेटाकॉन्टेक्स्ट क्लास में उपयोगकर्ताओं और भूमिकाओं को शामिल करते हैं तो टेबल आपके डेटाबेस में बनाए जाएंगे।
इसे लिखने के समय मैं पुष्टि कर सकता हूं कि यह अभी भी एक अच्छा समाधान है लेकिन कोडप्लेक्स पर ज्यादातर चीजों की तरह यह वास्तव में बुरी तरह से दस्तावेज है – JustAnotherDeveloper
मेरी लाइब्रेरी भी है जो मूल रूप से आपको परिभाषित करने की अनुमति देती है कि लगभग सभी चीजों को कैसे कॉन्फ़िगर किया जाना चाहिए: कुंजी प्रकार, जहां आपका संदर्भ ऑब्जेक्ट है, और जहां आपका उपयोगकर्ता/भूमिका संस्थाएं स्थित हैं। सार आधार कक्षाओं या इंटरफेस का उपयोग करके विस्तार योग्य। रिपोजिटरी पैटर्न/काम/आईओसी कंटेनर की इकाई के साथ बॉक्स से काफी अच्छी तरह से काम करता है।
आपका प्रश्न के दो भाग हैं।
- ईएफ कोड के साथ एएसपीनेट सदस्यता API का उपयोग कैसे करें?
- मॉडल बदलते समय मौजूदा डेटा को कैसे संरक्षित किया जाए?
मॉडल परिवर्तन के दौरान मौजूदा डेटा को संरक्षित करने के लिए, जहां तक EF 4.0/asp.net mvc 3 के साथ, डेटाबेस माइग्रेशन अभी तक समर्थित नहीं हैं। आपको एएसपीएनटी एमवीसी 4.0/ईएफ 4.3 में स्थानांतरित करना होगा जहां डेटाबेस माइग्रेशन समर्थित हैं या समान विकल्पों का उपयोग करते हैं, लेकिन यह अभी भी बीटा रिलीज है।
asp.net mvc 4.0 database migration in scott gu's blog
अब कैसे पहले एफई कोड के साथ asp.net सदस्यता प्रदाता का उपयोग करने पर बात करने के लिए आ रहा है। कुछ चुनौतियां हैं:
हम asp.net सदस्यता प्रदाता तालिकाओं में शामिल नहीं हो सकते/नहीं करना चाहिए। इसकी अनुशंसा नहीं की जाती है, इसलिए मेरा सुझाव एएसपीनेट सदस्यता प्रदाता कक्षाओं के लिए "एडाप्टर क्लास" बनाना होगा।पूर्व के लिए:
public class UserAdapter { // all user related attributes. Not stored in membership schema, but your schema public string UserProxyName; // some attributes stored in membership schema [NotMapped] public string Email { get { Membership.GetUser(UserProxyName).Email; } } // some attributes stored in membership schema and not in your schema [NotMapped] public string[] UserRoles { get { return Roles.GetRolesForUser(UserProxyName); } } }
अब जानकारी को अद्यतन करने के लिए, आप कुछ कार्यों मॉडल अपने आप में लिख सकते हैं, हालांकि मैं भंडार डिजाइन पैटर्न के साथ एक UserRepository उपयोगकर्ता CRUD संचालन को संभालने के लिए बनाने का सुझाव देते हैं।
दूसरी चुनौती यह है कि पहले रन पर डेटाबेस कैसे बनाया जाए। चूंकि बीजिंग एक मुद्दा बन जाता है, यदि आप उपयोगकर्ता की जानकारी बीज करना चाहते हैं तो अलग-अलग चलाना aspnet_regsql बीजिंग होने से पहले सदस्यता स्कीमा की अपेक्षा की जाती है।
मेरी DbContext.cs में दाखिल मैं एक बीज समारोह मैं कहाँ ApplicationServices.InstallServices()
फोन ASP.NET स्थापित करने के लिए है: मैं कुछ ठीक ट्यूनिंग यह मेरे लिए काम किया, यह अच्छा लेख भर में आया था मेरे डेटाबेस में सदस्यता। अब हर बार जब मेरा प्रारंभकर्ता डेटाबेस छोड़ देता है तो यह फिर से एएसपी.NET सदस्यता स्कीमा को दोबारा शुरू करता है।
public class PanelInitializer : DropCreateDatabaseAlways<PanelContext>
{
protected override void Seed(PanelContext context)
{
//Install ASP.NET Membership
ApplicationServices.InstallServices(SqlFeatures.Membership | SqlFeatures.RoleManager);
new List<Panel>
{
ApplicationServices वर्ग
using System.Configuration;
using System.Data.SqlClient;
using System.Web.Management;
namespace Lansw.Panels.DataAccess.Contexts
{
public class ApplicationServices
{
readonly static string DefaultConnectionString = ConfigurationManager.AppSettings["DefaultConnectionString"];
readonly static string ConnectionString = ConfigurationManager.ConnectionStrings[DefaultConnectionString].ConnectionString;
readonly static SqlConnectionStringBuilder MyBuilder = new SqlConnectionStringBuilder(ConnectionString);
public static void InstallServices(SqlFeatures sqlFeatures)
{
SqlServices.Install(MyBuilder.InitialCatalog, sqlFeatures, ConnectionString);
}
public static void UninstallServices(SqlFeatures sqlFeatures)
{
SqlServices.Uninstall(MyBuilder.InitialCatalog, sqlFeatures, ConnectionString);
}
}
}
@ImarSpaanjaarshttp://imar.spaanjaars.com/563/using-entity-framework-code-first-and-aspnet-membership-together के लिए धन्यवाद।
- 1. ईएफ 4.1 अपडेट 1 कोड फर्स्ट + एएसपी.नेट सदस्यता प्रदाता
- 2. सदस्यता के साथ निनजेक्ट का उपयोग करना। प्रदाता
- 3. सदस्यता प्रदाता
- 4. .net सदस्यता प्रदाता के साथ प्रोग्रामेटिक लॉगिन
- 5. पुष्टिकरण ईमेल के साथ एएसपी.NET सदस्यता प्रदाता
- 6. कस्टम सदस्यता प्रदाता का विस्तार
- 7. एएसपी.NET कस्टम सदस्यता प्रदाता
- 8. Asp.net सदस्यता प्रदाता
- 9. कस्टम एएसपीनेट सदस्यता प्रदाता
- 10. ओएथ एएसपी.NET सदस्यता प्रदाता
- 11. मैं एएसपी.NET सदस्यता प्रदाता के साथ खाता कैसे अक्षम करूं?
- 12. कस्टम सदस्यता/भूमिका प्रदाता
- 13. एएसपी.NET सदस्यता/भूमिका प्रदाता?
- 14. क्या एएसपी.NET सदस्यता प्रदाता
- 15. उपयोगकर्ता भूमिकाओं और अन्य सदस्यता प्रदाता के साथ ओपनआईडी (डॉटनेट ओपेनएथ के माध्यम से) का उपयोग
- 16. एएसपी.नेट एमवीसी एएसपी.NET सदस्यता प्रदाता का उपयोग कर उपयोगकर्ता सामग्री का प्रबंधन कैसे करें
- 17. ईएफ
- 18. ईएफ मॉडल के साथ सरलमेम्बरशिप का उपयोग करना- पहला
- 19. "सदस्यता। प्रदाता विस्तारितमेम्बरशिपप्रोवाइडर का उदाहरण होना चाहिए"
- 20. अपने खुद के डेटाबेस के साथ ASP.NET सदस्यता प्रदाता डेटाबेस का उपयोग कर?
- 21. एएसपी.नेट सदस्यता प्रदाता - एकल लॉगिन
- 22. एसक्लाइट या अन्य प्रदाता के साथ एएसपीनेट सदस्यता का उपयोग करना?
- 23. एएसपीनेट सदस्यता और भूमिका प्रदाता
- 24. सदस्यता प्रदाता का उपयोग किए बिना मैं ASP.NET लॉगिन नियंत्रण का उपयोग कैसे करूं?
- 25. MySQL के लिए एएसपी.NET सदस्यता/भूमिका प्रदाता?
- 26. क्या मैं एएसपी सदस्यता प्रदाता के साथ ओपनआईडी का उपयोग कर सकता हूं?
- 27. एएसपी.NET सदस्यता प्रदाता का उपयोग कर साइट के साथ फेसबुक कनेक्ट एकीकरण
- 28. डब्ल्यूसीएफ, एएसपी.नेट सदस्यता प्रदाता और प्रमाणीकरण सेवा
- 29. पहचान कोड के साथ ईएफ कोड प्रथम अभिभावक-बाल सम्मिलन
- 30. क्या मैं एएसपी.NET सदस्यता के साथ इकाई फ्रेमवर्क का उपयोग कर सकता हूं?
कृपया विस्तार करें: क्या आप .NET के साथ स्थापित SQL स्क्रिप्ट का उपयोग करने के बजाय पहले कोड के माध्यम से सदस्यता डेटाबेस बनाने का प्रयास कर रहे हैं? – Richard
डीबी aspnet_regsql के साथ जेनरेट किया गया है, लेकिन मुझे नहीं पता कि ईएफ कोड पहली सुविधाओं के साथ इसमें कैसे जुड़ें, जैसे कि जब मैं मॉडल/क्लास बनाता हूं, ईएफ तालिका उत्पन्न करता है। अब यह aspnet_regsql द्वारा बनाई गई सभी तालिकाओं को मिटा देता है। – Santas