2015-01-15 10 views
8

मेरे पास एक एएसपी.नेट एमवीसी 4 वेब एपीआई प्रोजेक्ट है जो एंटीटी फ्रेमवर्क 6.1.1 और MySQL 6.9.5.0 का उपयोग करता है। जब मैं/api/खाता फोन/पंजीकरणइनर एक्सेप्शन: तालिका 'xxx.aspnetusers' मौजूद नहीं है

IdentityResult result = await UserManager.CreateAsync(user, model.Password); 
AccountController में

पर DHC, कोड टूट जाता है का उपयोग कर और मैं एक InnerException जो कहते हैं

Table 'xxx.aspnetusers' doesn't exist 

यहाँ मेरी web.config के टुकड़े हैं पाने

<connectionStrings> 
<add name="ClockitDb" connectionString="Data Source=ClockitDb;port=3306;Initial Catalog=ClockitDb;Server=localhost;user id=root;password=m916600026;" 
    providerName="MySql.Data.MySqlClient" /> 
</connectionStrings> 

<!-- Some code--> 

<entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6"> 
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/> 
<providers> 
    <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" /> 
    <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> 
</providers> 
</entityFramework> 

<!-- Some code--> 

<system.web> 

<authentication mode="Forms" /> 
<compilation debug="true" targetFramework="4.5" /> 
<httpRuntime targetFramework="4.5" /> 
<membership defaultProvider="MySQLMembershipProvider"> 
    <providers> 
    <remove name="MySQLMembershipProvider" /> 
    <add name="MySQLMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.9.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Clear" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" /> 
    </providers> 
</membership> 
<profile defaultProvider="MySQLProfileProvider"> 
    <providers> 
    <remove name="MySQLProfileProvider" /> 
    <add name="MySQLProfileProvider" type="MySql.Web.Profile.MySQLProfileProvider, MySql.Web, Version=6.9.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" /> 
    </providers> 
</profile> 
<roleManager defaultProvider="MySQLRoleProvider"> 
    <providers> 
    <remove name="MySQLRoleProvider" /> 
    <add name="MySQLRoleProvider" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web, Version=6.9.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" /> 
    </providers> 
</roleManager> 
<siteMap defaultProvider="MySqlSiteMapProvider"> 
    <providers> 
    <remove name="MySqlSiteMapProvider" /> 
    <add name="MySqlSiteMapProvider" type="MySql.Web.SiteMap.MySqlSiteMapProvider, MySql.Web, Version=6.9.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" /> 
    </providers> 
</siteMap> 
<webParts> 

<personalization defaultProvider="MySQLPersonalizationProvider"> 
    <providers> 
     <remove name="MySQLPersonalizationProvider" /> 
     <add name="MySQLPersonalizationProvider" type="MySql.Web.Personalization.MySqlPersonalizationProvider, MySql.Web, Version=6.9.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" /> 
    </providers> 
    </personalization> 
</webParts> 

<entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6"> 
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> 
<providers> 
    <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" /> 
    <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> 
</providers> 

+1

क्या आपने अपने MySQL डेटाबेस में पहचान आधारभूत संरचना के लिए टेबल और संग्रहित प्रोसेस बनाए हैं? – tvanfosson

+2

जैसे ही एपीआई पहली बार कॉल किया जाता है, निम्नलिखित सारणी एसक्यूएल के साथ स्वचालित रूप से जेनरेट की जाती हैं। AspNetRoles, AspNetUserClaims, AspNetLogins, AspNetRoles, AspNetUsers। यह MySQL के साथ भी समान नहीं होना चाहिए? –

+0

मुझे लगता है कि आपको अभी भी 'InitializeSimpleMembershipAttribute' का उपयोग करने की आवश्यकता है और शायद कुछ अन्य कॉन्फ़िगरेशन करें। Http://dev.mysql.com/doc/connector-net/en/connector-net-simple-membership-tutorial-creating.html – tvanfosson

उत्तर

1

अपवाद स्पष्ट रूप से बताता है कि आपके डेटाबेस से एस्पनेटस गायब है। हालांकि, अधिक निष्कर्षों पर, मुझे लगता है कि आप इस जवाब को asp.net मंच से देखना चाहते हैं।

http://forums.asp.net/t/1977214.aspx?Mvc+5+Identity+Error+Invalid+object+name+dbo+AspNetUsers

भूमिका, सदस्यता प्रदाता, asp.net [पूरे asp.net ढेर/WebAPI शामिल] mysql के साथ, आप की आवश्यकता के लिए उस जगह में mysql के लिए विशिष्ट प्रदाताओं। इसके लिए, आप http://www.codeproject.com/Articles/117157/Setting-up-MySql-Membership-with-Visual-Studio

देख सकते हैं, अगर यह आपकी समस्या हल करता है तो मुझे बताएं।

-1

मैं

http://www.codeproject.com/Articles/117157/Setting-up-MySql-Membership-with-Visual-Studio पर निर्देशों का पालन करने की कोशिश की।

जब मैं एएसपी वेबसाइट व्यवस्थापन उपकरण में सुरक्षा टैब लॉन्च करते हैं, मैं कह रहा

The pre-application start initialization method Start on type WebMatrix.WebData.PreApplicationStartCode threw an exception with the following error message: Could not load file or assembly 'MySql.Data, Version=6.9.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) (C:\Users\Jaseem Abbas\Documents\Visual Studio 2013\Projects\MySQLSample1\MySQLSample1\web.config line 33). 

मेरे लाइन 33 वेब config में शुरू होता है के रूप में

<membership defaultProvider="MySQLMembershipProvider"> 
    <providers> 
    <add name="MySQLMembershipProvider" 
     type="MySql.Web.Security.MySQLMembershipProvider, 
     MySql.Web, Version=6.9.5.0, 
     Culture=neutral, 
     PublicKeyToken=c5687fc88969c44d" 
     connectionStringName="LocalMySqlServer" 
     enablePasswordRetrieval="false" 
     enablePasswordReset="true" 
     requiresQuestionAndAnswer="false" 
     requiresUniqueEmail="true" 
     passwordFormat="Hashed" 
     maxInvalidPasswordAttempts="5" 
     minRequiredPasswordLength="6" 
     minRequiredNonalphanumericCharacters="0" 
     passwordAttemptWindow="10" 
     applicationName="/" 
     autogenerateschema="true" /> 
    </providers> 
</membership> 
<profile>ASP 
    <providers> 
    <clear /> 
    <add type="MySql.Web.Security.MySQLProfileProvider, 
     MySql.Web, Version=6.9.5.0, 
     Culture=neutral, 
     PublicKeyToken=c5687fc88969c44d" 
     name="MySqlProfileProvider" 
     applicationName="/" 
     connectionStringName="LocalMySqlServer" 
     autogenerateschema="true" /> 
    </providers> 
</profile> 
<roleManager enabled="true" defaultProvider="MySqlRoleProvider"> 
    <providers> 
    <clear /> 
    <add connectionStringName="LocalMySqlServer" 
     applicationName="/" 
     name="MySqlRoleProvider" 
     type="MySql.Web.Security.MySQLRoleProvider, 
     MySql.Web, Version=6.9.5.0, 
     Culture=neutral, 
     PublicKeyToken=c5687fc88969c44d" 
     autogenerateschema="true" /> 
    </providers> 
+0

देखें कि आपके संदर्भ फ़ोल्डर में अब "MySql.Data" असेंबली है या नहीं । यदि यह वहां है तो संस्करण की जांच करें और इसे web.config संस्करण से मिलान करने का प्रयास करें। उम्मीद है की यह मदद करेगा। – ATechieThought

3

मैं बिल्कुल वैसा ही समस्या थी कोई त्रुटि मिलती है। मैं निम्नलिखित ट्यूटोरियल का पालन किया है और यह How to set up application using ASP.NET Identity with MySQL Provider

यह महत्वपूर्ण है कि आप ट्यूटोरियल के सभी चरणों, यहां तक ​​कि स्थानांतरण सेट अप का पालन करें काम किया है, अन्यथा यह एक ही त्रुटि देता है।

+0

इसे आज़माएं! –

+1

यह चलता है लेकिन सदस्यता और प्रोफाइल टेबल नहीं बनाए जाते हैं। – Quan

संबंधित मुद्दे