• 1397/01/18

ارور در زمان اجرای صفحه ادمین :

سلام به استاد مدائنی عزیز و همکاران محترمتون

اول میخواستم بابت این آموزش بسیار بسیار خوب تشکر کنم . چون این موضوعی که خیلی هم ساده نیست رو به زیبایی هرچه تمامتر توضیح دادین و کاملا قابل فهمه. میشه گفت بهترین آموزش ویدیویی فارسیه که تا حالا دیدم .

مشکلی که باعث شد پیام بدم اینه که من همراه با آموزش پروژه عملی پیش رفتم و بعد از ساخت مدل ها و repository و پوشه services  هنگامی که در ویدیوی قسمت 19 و دزمان 02:30 قصد اجرای صفحه ادمین رو داشتم، با اروری مواجه شدم که عکسهای ویژوال استودیو و عکس ارور مرورگر رو براتون پیوست می کنم. لطفا راهنمایی کنید

ممنون

موفق باشید

 

  • 1397/01/18
  • ساعت 12:39

سلام

سلامت باشی دوست من

در توصیر دوم پایین دقت کنید که پروژه شما ارور داره برای همین build نشده و کنترلر در خروجی نیست

ارور ها را برطرف کنید


  • 1397/01/18
  • ساعت 12:45

ممنون که وقت گزاشتین

متوجه هستم که ارور دارم . ولی نمیدونم ارورها از چی هست ؟ چطوری میتونم حل کنم مشکلو ؟

چتد تا چیزی که احتمال میدادم مشکل از اونا باشه چک کردم و دوباره با فیلم چک کردم اما متاسفانه حل نشد :(


  • 1397/01/18
  • ساعت 12:51

روی ارور ها دوبار کلیک کنید میره سراغ خط کد مربوطه


  • 1397/01/18
  • ساعت 13:02

کدها همونایی هستن که شما نوشتین. من برای تمرین بار اول دقیقا از روی خود کدها نوشتم


  • 1397/01/18
  • ساعت 13:03

میگه یک متد در interface اضافه کردید ولی اون رو پیاده سازی نکردید


  • 1397/01/18
  • ساعت 13:04

ارور اول به این خط کد از PageRepository میره :

public class PageRepository:IPageRepository

و ارور دوم و سوم به این خط کد از PageGroupController میره : 

private RedCmsContext db = new RedCmsContext();

 


  • 1397/01/18
  • ساعت 13:11

بله . متد DeletePage از   هست منظورش که ایمپلمنت کردم و کدش رو اینجا براتون میزارم :

        public bool DeletePage(Page page)
        {
            try
            {
                db.Entry(page).State = EntityState.Deleted;
                return true;
            }
            catch (Exception)
            {
                return false;
            }
        }

        public bool DeletePage(int pageId)
        {
            try
            {
                var page = GetPageById(pageId);
                DeletePage(page);
                return true;
            }
            catch (Exception)
            {
                return false;
            }
        }

مشکل از این بود که توی اینترفیس مقادیری که دریافت میکرد رو تعیین نکرده بودم. مشکل اول حل شد . اما مشکل دوم همچنان هست. این خط مشکل داره چرا ؟؟

private RedCmsContext db = new RedCmsContext();

هم به RedCmsContext گیر میده هم به db . این خط کد توی PageGroupController هست .


  • 1397/01/18
  • ساعت 13:20

بیزحمت کدهای context رو بررسی کنید مشکل نداره ؟

namespace DataLayer
{
    public class RedCmsContext:DbContext
    {
        public DbSet<PageGroup> PageGroups { get; set; }
        public DbSet<Page> Pages { get; set; }
        public DbSet<PageComment> PageComments { get; set; }
    }
}

 


  • 1397/01/18
  • ساعت 13:23

حل شد :)

عذرخواهی می کنم باید redcmscontext رو public میکردم اما متاسفانه توی اون صفحه ctrl+z زده بودم و پاک شده بود کلمه public .

ببخشید وقتتون رو گرفتم . ممنون

موفق و سربلند باشید 


  • 1397/01/18
  • ساعت 13:33

ببخشید اون حل شد . ولی باز ارور جدید میده توی مرورگر در حالی که توی ویژوال استودیو هیچ اروری نمیده :(

The model backing the 'RedCmsContext' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269).
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.InvalidOperationException: The model backing the 'RedCmsContext' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269).

Source Error: 


Line 19:         public ActionResult Index()
Line 20:         {
Line 21:             return View(db.PageGroups.ToList());
Line 22:         }
Line 23: 

Source File: c:\Users\saeed\Documents\Visual Studio 2013\Projects\RedCms\RedCms\Areas\Admin\Controllers\PageGroupsController.cs    Line: 21 

Stack Trace: 


[InvalidOperationException: The model backing the 'RedCmsContext' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269).]
   System.Data.Entity.<>c__DisplayClass1.<InitializeDatabase>b__0() +130

 


  • 1397/01/18
  • ساعت 15:49

مشکل از فایل cmscontext بود که با add-migration و update-database درست شد . فک کنم تغییراتی که ادخ بودم نیاز به migration دوباره داشت . 

ممنون

موفق و سربلند باشید


logo-enamadlogo-samandehi