كيفية تهيئة قاعدة البيانات مع إطار الكيان وجداول العضوية
سؤال
لدي تطبيق ويب مفك 4 التي تستخدم رمز إطار الكيان 5.0 أولا.
في العالمية.أساكس.كس لدي بوتسترابر التي تهيئة الكيان.قاعدة البيانات ، فرض تهيئة قاعدة البيانات وتهيئة قاعدة البيانات للعضوية.الرمز هو هذا واحد:
System.Data.Entity.Database.SetInitializer(new DatabaseContextInitializer());
Database.Initialize(true);
WebSecurity.InitializeDatabaseConnection(DEFAULTCONNECTION, "UserProfile", "UserId", "UserName", autoCreateTables: true);
قاعدة البيانات كونتكستينيتياليزر هو بسيط جدا في الوقت الراهن:
public class DatabaseContextInitializer : DropCreateDatabaseIfModelChanges<DatabaseContext>
{
protected override void Seed(DatabaseContext dbContext)
{
base.Seed(dbContext);
db.Set<Workout>().Add(new Workout {Id = 1, Name = "My First workout user1"})
}
}
المشكلة هي أنني لا أستطيع إنشاء مستخدم للعضوية مع:
WebSecurity.InitializeDatabaseConnection(DEFAULTCONNECTION, "UserProfile", "UserId", "UserName", autoCreateTables: true);
لأن لدي مشكلة في عدم إنشاء قاعدة البيانات.كيف يمكنك تهيئة بعض المستخدم الافتراضي لقاعدة البيانات الخاصة بك مع إطار الكيان 5.0 و Asp.Net مفك 4?
المحلول
نلقي نظرة على المادة التالية للنهج الموصى به لبذر قاعدة البيانات الخاصة بك باستخدام عمليات الترحيل.
ها هي الخطوات:
- إنشاء جديد ASP.NET مفك 4 تطبيق باستخدام قالب الإنترنت
في وحدة تحكم إدارة الحزم ، اكتب الأمر التالي:
enable-migrations
سيؤدي هذا إلى إنشاء ملف
~/Migrations/Configuration.cs
الملف الذي يمكن أن البذور قاعدة البيانات الخاصة بك:using System.Data.Entity.Migrations; using System.Linq; using System.Web.Security; using WebMatrix.WebData; internal sealed class Configuration : DbMigrationsConfiguration<MvcApplication1.Models.UsersContext> { public Configuration() { AutomaticMigrationsEnabled = true; } protected override void Seed(MvcApplication1.Models.UsersContext context) { WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true); if (!Roles.RoleExists("Administrator")) { Roles.CreateRole("Administrator"); } if (!WebSecurity.UserExists("john")) { WebSecurity.CreateUserAndAccount("john", "secret"); } if (!Roles.GetRolesForUser("john").Contains("Administrator")) { Roles.AddUsersToRoles(new[] { "john" }, new[] { "Administrator" }); } } }
حدد موفري الدعم والدور في الويب الخاص بك.التكوين:
<roleManager enabled="true" defaultProvider="SimpleRoleProvider"> <providers> <clear/> <add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData"/> </providers> </roleManager> <membership defaultProvider="SimpleMembershipProvider"> <providers> <clear/> <add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData" /> </providers> </membership>
قم بتشغيل الترحيل في وحدة تحكم إدارة الحزم:
update-database -verbose