راهاندازی Angular نسخه ۴ درون ASP.NET Core و در محیط Visual Studio 2017
قبل از هر چیز، لازم به ذکر است که هر چند که فریمورک انگیولار از نسخه ۲ به بعد نسبت به نسخه ۱ تفاوتهای اساسی کرده است، ولی جالب اینجاست که نام این فریمورک نیز تغییر کوچکی داشته که لازم میدانم قبل شروع بحث آنرا به شما عزیزان خاطرنشان کنم. تا قبل از نسخه ۲، نام این فریمورک AngularJS بود که بعد از آمدن نسخه ۲ و بعد از آن، نام این فریمورک به Angular تغییر یافت. در ضمن بد نیست دوستان در جریان باشند که بعد از نسخه ۲ مستقیما نسخه ۴ Release گردید و نسخه ۳ وجود ندارد!
برای راهاندازی Angular و یا AngularJS در محیط Visual Studio 2015 و Visual Studio 2017 و در بسترهای ASP.NET MVC و ASP.NET MVC Core روشهای زیادی تاکنون اعلام شده است. ولی امروز میخواهم یکی از راحتترین و مطمینترین روشها را به شما عزیزان آموزش دهم.
۱. ابتدا Visual Studio 2017 را نصب نمایید.
۲. با استفاده از دستور ذیل در محیط Cmd کلیه Template های مناسب ASP.NET Core را نصب میکنیم.
?> dotnet new —install Microsoft.AspNetCore.SpaTemplates::*
۳. حال پوشهای که میخواهید پروژه جدید خودتان را در آن بسازید (MY_ASP_NET_CORE)، ایجاد کرده و وارد آن شده و در محیط Cmdt دستور ذیل را بنویسید:
?\MY_ASP_NET_CORE> dotnet new angular
۴. با دستور فوق، تعدادی فایل و پوشه ایجاد میگردد.
۵. حال در محیط Windows Explorer وارد پوشه مذکور شده و بر روی فایل MY_ASP_NET_CORE.csproj که ایجاد شده است، Double Click نمایید.
۶. پس از ورود به محیط Visual Studio به طور اتوماتیک تمامی Module هایی که در داخل فایل package.json نوشته شده است به صورت اتوماتیک Download شده و در داخل پوشهای به نام node_modules قرار میگیرند.
۷. ممکن است که نسخه درج شده از Angular در فایل package.json قدیمیتر از آخرین نسخه باشد. در داخل فایل package.json برای تمام خطوط مربوط به Angualr نسخه ۴.۱.۲ درج گردیده، در حالی که در سایت Angular.io آخرین نسخه ۴.۲.۶ اعلام شده است. برای حل این مشکل، ابتدا در داخل فایل package.json تمام اعداد ۴.۱.۲ مربوط به Module های Angular را به عدد ۴.۲.۶ تغییر داده و سپس با Mouse بر روی فایل package.json رفته و کلید سمت راست ماوس را زده و گزینه Restore Packages را انتخاب میکنیم، تا مجددا از طریق اینترنت نسخههای مورد نظر ما را Download کرده و Replace نماید.
#Angular_4
#Angular
#MvcCore
#Mvc_Core
#Angular_In_Mvc
@ArmanAbi
قبل از هر چیز، لازم به ذکر است که هر چند که فریمورک انگیولار از نسخه ۲ به بعد نسبت به نسخه ۱ تفاوتهای اساسی کرده است، ولی جالب اینجاست که نام این فریمورک نیز تغییر کوچکی داشته که لازم میدانم قبل شروع بحث آنرا به شما عزیزان خاطرنشان کنم. تا قبل از نسخه ۲، نام این فریمورک AngularJS بود که بعد از آمدن نسخه ۲ و بعد از آن، نام این فریمورک به Angular تغییر یافت. در ضمن بد نیست دوستان در جریان باشند که بعد از نسخه ۲ مستقیما نسخه ۴ Release گردید و نسخه ۳ وجود ندارد!
برای راهاندازی Angular و یا AngularJS در محیط Visual Studio 2015 و Visual Studio 2017 و در بسترهای ASP.NET MVC و ASP.NET MVC Core روشهای زیادی تاکنون اعلام شده است. ولی امروز میخواهم یکی از راحتترین و مطمینترین روشها را به شما عزیزان آموزش دهم.
۱. ابتدا Visual Studio 2017 را نصب نمایید.
۲. با استفاده از دستور ذیل در محیط Cmd کلیه Template های مناسب ASP.NET Core را نصب میکنیم.
?> dotnet new —install Microsoft.AspNetCore.SpaTemplates::*
۳. حال پوشهای که میخواهید پروژه جدید خودتان را در آن بسازید (MY_ASP_NET_CORE)، ایجاد کرده و وارد آن شده و در محیط Cmdt دستور ذیل را بنویسید:
?\MY_ASP_NET_CORE> dotnet new angular
۴. با دستور فوق، تعدادی فایل و پوشه ایجاد میگردد.
۵. حال در محیط Windows Explorer وارد پوشه مذکور شده و بر روی فایل MY_ASP_NET_CORE.csproj که ایجاد شده است، Double Click نمایید.
۶. پس از ورود به محیط Visual Studio به طور اتوماتیک تمامی Module هایی که در داخل فایل package.json نوشته شده است به صورت اتوماتیک Download شده و در داخل پوشهای به نام node_modules قرار میگیرند.
۷. ممکن است که نسخه درج شده از Angular در فایل package.json قدیمیتر از آخرین نسخه باشد. در داخل فایل package.json برای تمام خطوط مربوط به Angualr نسخه ۴.۱.۲ درج گردیده، در حالی که در سایت Angular.io آخرین نسخه ۴.۲.۶ اعلام شده است. برای حل این مشکل، ابتدا در داخل فایل package.json تمام اعداد ۴.۱.۲ مربوط به Module های Angular را به عدد ۴.۲.۶ تغییر داده و سپس با Mouse بر روی فایل package.json رفته و کلید سمت راست ماوس را زده و گزینه Restore Packages را انتخاب میکنیم، تا مجددا از طریق اینترنت نسخههای مورد نظر ما را Download کرده و Replace نماید.
#Angular_4
#Angular
#MvcCore
#Mvc_Core
#Angular_In_Mvc
@ArmanAbi
SHadow Properties :
properties فیلدهایی هستند که در کلاس خود وجود ندارند، اما تحت عنوان Entity Framework عمل می کنند. آنها می توانند در عملیات create/update و migrations و شرکت کنند. مایکروسافت دو سناریوی اصلی برای ویژگی های shadow properties پیش بینی می کند:
1-اجازه دادن به لایه دسترسی به داده ها برای کار با خواصی که نباید از طریق domain model به بقیه برنامه در معرض قرار گیرد
2-اجازه دادن به توسعه دهندگان به طور موثر افزودن خواص به کلاسی که کد منبع را ندارند
Shadow properties در رویداد OnModelCreating تعریف شده است که به عنوان یک روش قابل لغو در DBContext در معرض قرار می گیرد. در اینجا یک مثال از attach کردن یک پراپرتی از نوع DateTime به نام LastUpdated به Blog entity است.
یک استفاده معمول برای این ویژگی، هنگام انجام عملیات ذخیره، به طور خودکار Property LastUpdated را تنظیم می کند. برای انجام این کار، می توانید DBContext.ChangeTracker را برای دریافت لیستی از اشیاء DBEntry استفاده کنید. از آنجا می توانید نوشت:
معمولا این کار با بالا بردن روش SaveChanges () در کلاس DBContext انجام می شود. با قرار دادن آن در اینجا، احتمال آن را برای بعضی، اما نه لزوما تمام مکان هایی که سوابق را بهروزرسانی می کنید، حذف می کنید.
در حالی که ChangeTracker برای تغییر رویدادهای ذخیره عالی است، زمانی که میخواهید به Shadow properties دسترسی پیدا کنید بدون استفاده از DBEntry به طور مستقیم وجود دارد. این را می توان با استفاده از عملکرد EF.Property به عنوان نشان داده شده در زیر انجام می شود:
لینک فیلم آموزشی :
https://www.lynda.com/Entity-Framework-tutorials/Using-Shadow-Properties/510080/560683-4.html
#Shadow_Properties
#Mvc
#Entity_framework
@ArmanAbi
properties فیلدهایی هستند که در کلاس خود وجود ندارند، اما تحت عنوان Entity Framework عمل می کنند. آنها می توانند در عملیات create/update و migrations و شرکت کنند. مایکروسافت دو سناریوی اصلی برای ویژگی های shadow properties پیش بینی می کند:
1-اجازه دادن به لایه دسترسی به داده ها برای کار با خواصی که نباید از طریق domain model به بقیه برنامه در معرض قرار گیرد
2-اجازه دادن به توسعه دهندگان به طور موثر افزودن خواص به کلاسی که کد منبع را ندارند
Shadow properties در رویداد OnModelCreating تعریف شده است که به عنوان یک روش قابل لغو در DBContext در معرض قرار می گیرد. در اینجا یک مثال از attach کردن یک پراپرتی از نوع DateTime به نام LastUpdated به Blog entity است.
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Blog>().Property<DateTime>("LastUpdated");
}
یک استفاده معمول برای این ویژگی، هنگام انجام عملیات ذخیره، به طور خودکار Property LastUpdated را تنظیم می کند. برای انجام این کار، می توانید DBContext.ChangeTracker را برای دریافت لیستی از اشیاء DBEntry استفاده کنید. از آنجا می توانید نوشت:
foreach (var item in modifiedEntries)
{
Item.Property("LastUpdated ").CurrentValue = DateTime.Now;
}
معمولا این کار با بالا بردن روش SaveChanges () در کلاس DBContext انجام می شود. با قرار دادن آن در اینجا، احتمال آن را برای بعضی، اما نه لزوما تمام مکان هایی که سوابق را بهروزرسانی می کنید، حذف می کنید.
در حالی که ChangeTracker برای تغییر رویدادهای ذخیره عالی است، زمانی که میخواهید به Shadow properties دسترسی پیدا کنید بدون استفاده از DBEntry به طور مستقیم وجود دارد. این را می توان با استفاده از عملکرد EF.Property به عنوان نشان داده شده در زیر انجام می شود:
EF.Property<DateTime>(entity, " LastUpdated ")
لینک فیلم آموزشی :
https://www.lynda.com/Entity-Framework-tutorials/Using-Shadow-Properties/510080/560683-4.html
#Shadow_Properties
#Mvc
#Entity_framework
@ArmanAbi
Lynda.com - from LinkedIn
Using Shadow Properties
Join Richard Goforth for an in-depth discussion in this video Using Shadow Properties, part of Accessing Existing Databases with Entity Framework Core