PDA

View Full Version : سوال: تنظیم پایگاه داده برای Account Controller



saviorperi
یک شنبه 11 فروردین 1392, 08:33 صبح
سلام دوستان
میدونید که وقتی یک پروژه mvc با Account Controller میسازیم دیگه نیازی به برنامه نویسی و طراحی پایگاه داده جهت مدیریت کاربران سایتمون نداریم (البته به جز اندک تغییراتی جهت شخصی سازی).

حالا من یک مشکل دارم و اول هم اینه که mvc جهت مدیریت کاربران به صورت خودکار یک پایگاه داده با نام ASPNETDB.MDF داخل پوشه App_Data میسازه، ولی من میخوام این اطلاعات رو داخل پایگاه داده دیگری (که احتمالا دیگر اطلاعات سایتم رو هم داخل اون ذخیره کنم) ذخیره و مدیریت کنه، داخل فایل web.config کانکشن مربوط به ApplicationServices رو تغییر دادم ولی خطا داد چون پایگاه داده رو به صورت خودکار ایجاد نمیکرد، پایگاه داده رو دستی ایجاد کردم باز خطا داد چون جدولها موجود نبودن ! من موندم پس چطور در حالت پیش فرض هم پایگاه داده و هم جداول رو خودکار ایجاد میکرد ؟

خلاصه ممنون میشم در این مورد منو راهنمایی کنید که باید چیکار کنم ؟

ali_autumnal
یک شنبه 11 فروردین 1392, 10:41 صبح
سلام

شما اگه به فولدر Models مراجعه کنید کلاسی با نام AccountModels موجود هست. این کلاس شامل مدل هایی جهت ایجاد دیتابیس با جدول های اون هست.

ابتدا EF code First رو مطالعه فرمائید.

موفق باشید
علی پاییزی

saviorperi
یک شنبه 11 فروردین 1392, 15:22 عصر
سلام

شما اگه به فولدر Models مراجعه کنید کلاسی با نام AccountModels موجود هست. این کلاس شامل مدل هایی جهت ایجاد دیتابیس با جدول های اون هست.

ابتدا EF code First رو مطالعه فرمائید.

موفق باشید
علی پاییزی
بله دوست عزیز، این کلاس رو قبلا دیدم، ولی اگه توجه داشته باشید فقط سه تا کلاس جهت تغییر رمز عبور، ورود به سایت و ثبت نام وجود داره در حالی که پایگاه داده ای که برنامه ایجاد میکنه دارای 11 جدول با انواع اطلاعات هستش و من نتونستم data context class پایگاه داده رو پیدا کنم.

p.parsaee
یک شنبه 11 فروردین 1392, 18:14 عصر
کانکشن استرینگ پیش فرض را تغییر بدید ، بدین صورت:

<add name="DefaultConnection"
providerName="System.Data.SqlClient"
connectionString="Data Source=.;Initial Catalog=DatabaseName;Persist Security Info=True;User ID=sa;Password=*****" />


درون Command Prompt مربوط به ویژوال استودیو (از مسیر Start -> All Programs --> Visual Studio 2012 --> Visual Studio Tools --> Developer Command Prompt for Visual Studio 2012 )، دستور aspnet_regsql را بنویسید. ویزاردی نشان داده می شود، در صفحه دوم آن برای ایجاد جداول مورد نظر برای Membership دات نت گزینه اول را انتخاب کنید (گزینه دوم برای حذف جداول Membership از یک دیتابیس هست)، در صفحه بعدی اطلاعات مربوط به سرور و نیز پایگاه داده ای که می خواهید جداول مورد نظر به آن اضافه شود را انتخاب کنید و بعد ویزارد را به پایان رسانید. کار تمام است.

Sirwan Afifi
یک شنبه 11 فروردین 1392, 22:46 عصر
ابتدا همونطور که دوستان گفتند باید Connection String تون رو توی web.config به صورت زیر تعریف کنید :
<connectionStrings>
<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=mydatabase;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\myd atabase.mdf" />
</connectionStrings>
کلاس UsersContext رو داخل حذف کنید بعد داخل کلاس Contextتون این خط کد رو اضافه کنید :
public DbSet<UserProfile> UserProfiles { get; set; }

saviorperi
دوشنبه 12 فروردین 1392, 12:07 عصر
ابتدا همونطور که دوستان گفتند باید Connection String تون رو توی web.config به صورت زیر تعریف کنید :
<connectionStrings>
<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=mydatabase;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\myd atabase.mdf" />
</connectionStrings>
کلاس UsersContext رو داخل حذف کنید بعد داخل کلاس Contextتون این خط کد رو اضافه کنید :
public DbSet<UserProfile> UserProfiles { get; set; }
دوست عزیز ممنون از پاسختون، این روش خیلی بهتریه، ولی مثل اینکه فقط توی MVC4 جواب میده (من تو MVC4 تست کردم جواب داد ولی تو MVC3 اصلا کلاسی با نام UserProfile وجود نداشت) و هاست من هم تو مشخصاتش نوشته بود از MVC2 و MVC3 پشتیبانی میکنه، حالا نمیشه توی MVC3 همچین کاری کرد ؟

mo.esmp
چهارشنبه 14 فروردین 1392, 03:04 صبح
برای اطلاع بیشتر در باره مدیریت کاربران در MVC این مقاله رو بخونید بهتون کمک میکنه.
http://weblogs.asp.net/jgalloway/archive/2012/08/29/simplemembership-membership-providers-universal-providers-and-the-new-asp-net-4-5-web-forms-and-asp-net-mvc-4-templates.aspx