سؤال

لدي تطبيق ويب مفك 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?

هل كانت مفيدة؟

المحلول

نلقي نظرة على المادة التالية للنهج الموصى به لبذر قاعدة البيانات الخاصة بك باستخدام عمليات الترحيل.

ها هي الخطوات:

  1. إنشاء جديد ASP.NET مفك 4 تطبيق باستخدام قالب الإنترنت
  2. في وحدة تحكم إدارة الحزم ، اكتب الأمر التالي:

    enable-migrations
    
  3. سيؤدي هذا إلى إنشاء ملف ~/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" });
            }
        }
    }
    
  4. حدد موفري الدعم والدور في الويب الخاص بك.التكوين:

    <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>
    
  5. قم بتشغيل الترحيل في وحدة تحكم إدارة الحزم:

    update-database -verbose
    
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top