سلام
فرض کنید جدولی داریم با نام tbl_Customer که به model اضافه شده. از روی این کلاس یک ویو مدل با نام CustomerViewModel (برای اینکه منطق MVC حفظ بشه) ایجاد می کنیم.
یه کنترلر با نام CustomerController توسط Scaffolding ابجاد می کنیم که تمام فرم های لازم رو ایجاد کنه.
فرم ها ساخته میشن. مشکل اینجاست که در شی رو به این صورت میاره db.CustomerViewModel.tolist() خوب طبعا خطا میده.
چه باید کرد زمانیکه نمی خواهیم مستقیم از مدل بخونیم و ViewModel جای مدل رو می گیره ؟
Scaffolding وظیفه نوشتن کدهای آماده را برعهده داره و طبق تعریف کنترلر را برای عملیات CRUD میسازه و به همین دلیل است که به اون شکل مسازه
شما میتونید کنترلر Empty ایجاد کنید و عملیات مورد نظرتون رو خودتون پیاده سازی کنید و فقط View ها رو با Scaffolding بسازید
پس اگر منطق MVCرو بخواهیم رعایت کنیم عملا Scaffolding کارایی نداره!!؟؟؟
ضمنا در زمان ایجاد Contoller پیغام زیر میاد. که البته با دوباره نصب کردن Entity مشکل برای یک بار حل میشه ولی باز هم برای کنترلر های بعدی همین داستان هست.
مشکل از کجاست و چطور میشه حلش کرد ؟
ویژوال استادیو رو آپدیت کردید ؟
از 2 به بعد این مشکل برطرف شده
تصویر رو فرستادم فکر کنم آپدیت 4 هست!
اگر نیست لطفا نحوه آپدیت رو بفرمایید.
مشکل حل شد.
مربوط به تنظیمات connectionString هست
عبارت زیر در ابتدای رشته فراموش نشه :
metadata=res://*/Models.MMM.csdl|res://*/Models.MMM.ssdl|res://*/Models.MMM.msl;
به جای MMM شما نام مدل رو قرار بدید.
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)