2015-11-04 12 views
6

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

क्या मैं अपने SQL सर्वर प्रबंधन स्टूडियो में नीचे दी गई क्वेरी चला सकता हूं?

ALTER TABLE AspNetUsers ADD ProfilePicture NVARCHAR(100); 
ALTER TABLE AspNetUsers ADD BirthDay DATE; 

या यह अधिक जटिल है? मैं पहचान ढांचे के साथ काम नहीं कर सकता, इसलिए मुझे इसे ADO.NET और .NET Framework 4 के साथ करना होगा।

+3

आपको अपनी 'पहचान उपयोगकर्ता' कक्षा में उपयुक्त संपत्ति जोड़नी होगी और फिर एक इकाई फ्रेमवर्क माइग्रेशन बनाना होगा जो तब एपी चलाएगा जब आप माइग्रेशन निष्पादित करते हैं तो अपने डेटाबेस पर SQL को प्रोप्रिएट करें। http://blogs.msdn.com/b/webdev/archive/2013/10/16/customizing-profile-information-in-asp-net-identity-in-vs-2013-templates.aspx के लिए – James

उत्तर

15

मुझे यह मिल गया है! @ जेम्स ने मुझे एक लेख सुझाया जो काम करता है।

कदम:

  1. सांत्वना प्रबंधक में टाइप करें इस कोड:

    Enable-Migrations 
    

    स्रोत: blogs.msdn.com

  2. कक्षा ApplicationUser में अपनी इच्छित संपत्ति जोड़ें।

    public DateTime? Birthdate { get; set; } 
    
  3. सांत्वना प्रबंधक प्रकार में

    इस कोड:

    Add-Migration "Birthdate" 
    
  4. यह डेटाबेस तिनका इस कोड को अपडेट करने के बाद:

    Update-Database 
    

परिणाम: एक नया स्तंभ डेटाबेस श्वेत नाम "जन्मदिन" में जोड़ा गया है औरटाइप करेंजो शून्य हो सकता है।

+0

धन्यवाद पोस्ट.इसने मेरी मदद की! मेरे मामले में मुझे टाइप int के कॉलम को जोड़ना पड़ा। मैंने आपके पोस्ट पर वर्णित कॉलम जोड़ा लेकिन अब मुझे अतिरिक्त int कॉलम को विदेशी कुंजी के रूप में परिभाषित करने की आवश्यकता है। क्या आपको कोई विचार है कि कैसे इसे लागू किया जा सकता है? – Michael

6

मान लीजिए आप एक नया स्तंभ "प्रथम" नाम जोड़ना चाहते हैं:

चरण 1: मॉडल/IdentityModels.cs

"ApplicationUser" वर्ग के लिए निम्न कोड जोड़ें:

public string FirstName { get; set; } 

चरण 2: मॉडल/AccountViewModels.cs

"RegisterViewModel" वर्ग के लिए निम्न कोड जोड़ें:

public string FirstName { get; set; } 

चरण 3: दृश्य/पंजीकरण।cshtml

देखने के लिए प्रथम इनपुट पाठ बॉक्स जोड़ें:

<div class="form-group"> 
     @Html.LabelFor(m => m.FirstName, new { @class = "col-md-2 control-label" }) 
     <div class="col-md-10"> 
      @Html.TextBoxFor(m => m.FirstName, new { @class = "form-control" }) 
     </div> 
</div> 

चरण 4:

उपकरण> NuGet प्रबंधक> पैकेज प्रबंधक कंसोल

चरण एक: प्रकार "सक्षम-माइग्रेशन "और enter
चरण बी: टाइप करें" ऐड-प्रवासन "प्रथम" "और प्रेस
चरण सी दर्ज करें: प्रकार" अद्यतन-डाटाबेस "एक nd प्रेस दर्ज
यानी

PM> Enable-Migrations 
PM> Add-Migration "FirstName" 
PM> Update-Database 

चरण 5: नियंत्रकों/AccountController.cs

जाओ कार्रवाई रजिस्टर और ApplicationUser यानी

var user = new ApplicationUser { UserName = model.Email, Email = model.Email, FirstName = model.FirstName} 
में जोड़ें "FirstName = model.FirstName" करने के लिए
संबंधित मुद्दे