فروشگاه آنلاین با MVC بخش پنجم

فروشگاه آنلاین با MVC بخش پنجم :

در مقاله قبل ، نوگت EntityFramework را نصب کردیم و کلاسهای Category , Product , DatabaseContext را تعریف کردیم . در این مقاله میخواهیم به جداول محصولات و فهرست ، دیتای نمونه وارد کنیم .

 

ورود دیتا به جداول دیتابیس :

برای اینکه مدل های ما به جدول در دیتابیس تبدیل شوند ، باید یکبار پروژه را اجرا کنیم . بنابراین نوبت به اجرای اپلیکیشن رسیده است !

پس از اجرای اپلیکیشن ، می بینیم که در دیتابیس ، دو جدول ما ایجاد شده اند (تصویر زیر) :

جداول Category و Product 

چند روش برای مقدار دهی به رکوردهای این جداول وجود دارد . یکی اینکه همینجا در دیتابیس روی جدول راست کلیک کنیم و Edit Top 200 Rows را بزنیم و مقادیر مورد نظر را وارد کنیم .

 روش دیگر آنست که در پروژه روی Controllers راست کلیک کنیم و Add Controller کنیم و در پنجره ای که نمایش داده می شود ، گزینه MVC5 controller with views , using Entity Framework را انتخاب کنیم و در نهایت مدل خود را انتخاب کرده و OK کنیم . حال ، تمام قابلیتهای Insert , Update , Select , Delete بطور خودکار و با تمام View هایشان ، ایجاد می شوند . از طریق اجرای فایل Create.cshtml می توان به جدول موردنظر دیتا وارد کرد .

روش دیگر آنست که یک کلاس بنام DbPopulate.cs در فولدر Data تعریف کنیم . دستوراتی که در این کلاس می نویسیم بصورت زیر است :

public class DbPopulate

    {

        public async static Task AddDataAsync()

        {

            using (var db = new StoreContext())

            {

                var Computers = new Category() { Name = "Computers" };

                var Printers = new Category() { Name = "Printers" };

                var Books = new Category() { Name = "Books" };

                db.Categories.AddRange(new Category[] { Computers, Printers, Books });

                db.Products.Add(new Models.Product

                {

                    Name = "Really Fast Computer",

                    Category = Computers,

                });

                db.Products.Add(new Models.Product

                {

                    Name = "Midium Computer",

                    Category = Computers,

                });

                db.Products.Add(new Models.Product

                {

                    Name = "Color Laser 1",

                    Category = Printers,

                });

                db.Products.Add(new Models.Product

                {

                    Name = "Laser Jet 2",

                    Category = Printers,

                });

                db.Products.Add(new Models.Product

                {

                    Name = "Gone with the wind",

                    Category = Books,

                });

                db.Products.Add(new Models.Product

                {

                    Name = "Shahzadeh !",

                    Category = Books,

                });

db.SaveChanges();

            }

        }

    }

مشاهده می کنید که برای جدول فهرست محصولات ، سه دسته تعریف کردیم و برای هر دسته ۲ محصول .

میخواهیم این کلاس و دستوراتش را در اکشن Index از کنترولر Home اجرا کنیم . پس باید اکشن ایندکس نیز Async شود :

public async Task<ActionResult> Index()

        {

            await DbPopulate.AddDataAsync();

            return View();

        }

نکته : پس از اجرای پروژه ، دیتاهای فرضی ، به جداول اضافه خواهند شد (تصویر زیر) :

جدول محصولاتجدول فهرست

در مقاله بعد اکشن های لازم برای نمایش محصولات به کاربران را ایجاد خواهیم کرد . همراه ما باشید …laugh


تاریخ انتشار : ۱ بهمن ۱۳۹۴



دیدگاه ها :