در این قسمت به پیاده سازی و توضیح مدلهای انجمن خواهیم پرداخت. قبل از شروع پیشنهاد میکنم مقالات قبلی را مطالعه کنید.
همکاران این قسمت: سلمان معروفی سید مجتبی حسینی
پیشنیاز این قسمت:
...
در این مقاله سعی داریم مراحل نوشتن و اجرای یک برنامهی ساده را تحت NET Core. و با بهره گیری از دیتابیس SQLite و EF7، دنبال کنیم. همچنین از آنجاییکه NET Core. به صورت چندسکویی طراحی شدهاست و تحت لینوکس و مکینتاش هم قابل اجراست، در نتیجه مناسب دیدم که ابزار نوشتن این پروژهی ساده نیز قابلیت چندسکویی داشته و تحت لینوکس و مکینتاش نیز قابل اجرا باشد. در نتیجه به جای Visual Studio در این مقاله از Visual Studio Code استفاده شده است.
...
در مقالهی قبل توانستیم یک سری
از مدلهای مربوط به وبلاگ را آماده کنیم. در ادامه به تکمیل آن و همچین
آغاز تهیهی مدلهای مربوط به اخبار و پیغام خصوصی میپردازیم.
همکاران این قسمت: سلمان معروفی مدل گزارش دهی /// <summary>
/// Repersents a Report template for every cms section
/// </summary>
public class Report
{
#region ...
قصد داریم طی یک سری مقالات به توسعه یک سیستم مدیریت محتوا بپردازیم. مسلما فاصلهی زمانی بین انتشار مقالات این سری، کمی زیاد خواهد بود. ولی سعی خواهیم کرد تا قدم به قدم و با تحلیل و توضیح کافی هر بخش به این هدف برسیم. همکاران این قسمت: سلمان معروفی پیشنیازها: مطالعه مسیر آموزشی " Entity Framework Code-First " مطالعه مسیر آموزشی " Asp.NET MVC " مطالعه مقالات مربوط به " Asp.net Identity " مطالعه مسیر آموزشی " اصول ...
سناریوی زیر را در نظر بگیرید:
میخواهید پروژهای را انجام دهید که شامل جداول زیر است:
مقالات، اخبار، گالری تصاویر، گالری ویدیو، اسلایدشو، تبلیغات و ... و تمامی این جداول حداقل شامل یک فایل پیوست (عکس، فیلم، ...) میباشند. به طور مثال جدول مقالات دارای یک عکس نیز میباشد. قصد داریم تمام فایلها را بر روی هاست ذخیره کرده و فقط آدرس و نام فایل را در دیتابیس ذخیره نمایم. روش اول : استفاده از یک فیلد در هر جدول برای ...
EF اطلاعات تمام migrations اجرا شدهی بر روی بانک اطلاعاتی را در جدولی به نام MigrationHistory__ ذخیره میکند:
اگر به تصویر دقت کنید، در ستون Model آن، اطلاعات باینری ذخیره شدهاند. شاید در وهلهی اول اینطور به نظر برسد که این ستون حاوی هش نقل و انتقالات صورت گرفتهاست؛ اما ... خیر. اطلاعات این ستون، GZip شدهی یک رشتهی XML ایی یا همان EDMX معادل مدلها و نگاشتهای برنامه است.
در کدهای ...
تغییر الگوریتم پیش فرض هش کردن کلمههای عبور ASP.NET Identity
کلمههای عبور کاربران فعلی سیستم با الگوریتمی متفاوت از الگوریتم مورد استفاده Identity هش شدهاند. برای اینکه کاربرانی که قبلا ثبت نام کرده بودند بتوانند با کلمههای عبور خود وارد سایت شوند، باید الگوریتم هش کردن Identity را با الگوریتم فعلی مورد استفاده Iris جایگزین کرد.
...
نگاشت اشیاء امری مفید و لذت بخش است. ولی بخاطر تنظیمات خاص آن و افزایش کدها، همیشه کمی دردسر ساز بوده است. استفاده از کلاس Profile راه کار مناسبی است؛ اما در این حالت کلاس مقصد (ViewModel) از تنظیمات نگاشتها بی اطلاع میماند و فقط حاوی داده خواهد بود. برای ادغام کلاس و تنظیمات نگاشت در اینجا راهکاری ارائه گردید که در ادامه و با الگو گیری از همین ایده، اقدام به ارائهی روشی جدید میکنم که با استفاده از Attributeها تنظیمات نگاشت اشیاء ...
تا نسخه EF6 و minorهای آن به دلیل عدم پشتیبانی داریور sqlite از migration، ساخت دیتابیس با code first ممکن نیست برای همین مجبور هستند از پیاده سازیهای خودشان و موجود بودن دیتابیس از قبل با استفاده از EF با آن کار کنند که یکی از مثالهای آن در این آدرس قرار دارد و سعی دارد کلاسی مشابه sqlitehelper در اندروید که کار ساخت دیتابیس و مدیریت نسخه را دارد بسازد و از آن استفاده کند. البته در EF7 این مشکل حل شده است و تیم دات نت تمهیداتی ر ...
در بخش اول ، کارهایی که انجام دادیم به طور خلاصه عبارت بودند از: 1- حذف کاربرانی که نام کاربری و ایمیل تکراری داشتند 2- تغییر نام فیلد Password به PasswordHash در جدول User سیستم مدیریت محتوای IRIS، برای استفاده از Entity Framework، از الگوی واحد کار (Unit Of Work) و تزریق وابستگی استفاده کرده است و اگر با نحوهی پیاده سازی این الگوها آشنا نیستید، خواندن مقاله EF Code First #12 را به شما توصیه میکنم. برای استفاده از A ...