نقل قول نوشته شده توسط mr.sirwan مشاهده تاپیک
تمامی این مواردی که شما توسط sql انجام میدین من سمت کد نویسی C#‎‎‎‎‎ و توسط کلاس ها و پراپرتی ها انجام میدم و هیچ کاستی سرعتی هم در لود اطلاعات شاهد نیستم مزیت روش من نسبت به شما همونطور که دوستمون هم اشاره کردن اینه که من مسئولیت فیلدهای نمایشی رو میذارم به عهده کلاینت و از سمت سرور فقط فیلدهای خام رو واکشی میکنم ولی در روش شما همه کارها توسط سرور انجام میشه که خب این بار اضافه ای روی سرور هست.
اینم یه نمونه از روش بنده:
نقل قول نوشته شده توسط mr.sirwan مشاهده تاپیک
[NotMapped]
public string InvoiceDateDisplay { get { return ConvertDate.Converting.NumericDateWithClock(Invoic eDate, '/', true, true, false, false); } }

[NotMapped]
public string TotalPriceDisplay { get { return string.Format("{0:n0} تومان", TotalPrice); } }

[NotMapped]
public string TotalProductsDisplay { get { return string.Format("{0:n0} تومان", TotalPrice - ValueAddedPrice + Discount); } }

[NotMapped]
public string ValueAddedPriceDisplay { get { return string.Format("{0:n0} تومان", ValueAddedPrice); } }

[NotMapped]
public string DiscountDisplay { get { return string.Format("{0:n0} تومان", Discount); } }

[NotMapped]
public string SalesPriceDisplay { get { return string.Format("{0:n0} تومان", SalesPrice); } }

[NotMapped]
public string ModifiedDateDisplay { get { return ConvertDate.Converting.NumericDateWithClock(Modifi edDate, '/', true, true, false, false); } }

[NotMapped]
public string CategoryName { get { return Category != null ? Category.Name : "تعریف نشده"; } }

[NotMapped]
public string QuantityAndMeasureUnitDisplay { get { return MeasureUnit == null || Quantity == 0 ? string.Format("{0:n0}", Quantity) : string.Format("{0:n0} {1}", Quantity, MeasureUnit.Title); } }

[NotMapped]
public string SoldQuantityDisplay { get { return MeasureUnit == null || SoldQuantity == 0 ? string.Format("{0:n0}", SoldQuantity) : string.Format("{0:n0} {1}", SoldQuantity, MeasureUnit.Title); } }



بله روش شما به صورت پراپرتی هستش و این روش هم میشه من در حد ساده انجام دادم

[Display(Name = "شناسه")]
public int AS_ID { get; set; }

[Display(Name = "نام کاربری")]
public string AS_USername { get; set; }

[Display(Name = "رمز عبور")]
public string AS_Password { get; set; }

[Display(Name = "شماره ارسال کننده")]
public string AS_Number { get; set; }

ولی این در EF هستش در ADO بخاطر لیست کار کردن از این روش استفاده کردم بخاطر Razor pages چون برای نمایش باید به صورت لیست مقدار میدادم.
برای تبدیل تاریخ دو مسئله و مشکل میشه گفت پیش اومده.
این مشکلی که میگم باهاش برخورد کردم و خیلی بنده رو اذیت کرد. اسکیول سرور بنده 2017 هستش و ویندوز سرور من 2016 هستش و تاریخ ویندوز سرور من میلادی هستش و شمسی هم نیست ولی شمسی رو میشناسه و روش قرار دادم و حالت الگوی زبانش رو هم persian_100 هستش. و موقع ذخیره اگه تبدیل تاریخ شمسی انجام ندم و روی سیستم خودم که ویندوز 10 هستش میام لود اطلاعات انجام میده چون روی اسکیول تاریخ میلادی هستش و سیستم بنده 10 هستش بدون تبدیل تاریخ، تاریخ میلادی رو شمسی نشان میده و بخواهم ذخیره کنم تاریخ شمسی بهش بدم که قبلش ذخیره کنه به میلادی 1398 میدم باید تبدیل کنه به 2019 تبدیل میکنه ولی موقعی که میره روی دیتابیس بشینه خود اسکیول هم 2019 فکر میکنه شمسی و تبدیل میکنه به 2658 یعنی باز تاریخ 600 سال میبری جلو خود اسکیول وقتی نوع فیلد از نوع Date هستش. که یک سورس آقای کرامتی عزیز به بنده دادن این سورس این مشکل رو حل کرد در تبدیل تاریخ تو دیتابیس با مشکلی برخورد نکردم ولی سرعتش واقعاً خیلی بد بود بنده تو برنامه ام حتی برنامه سازمانی که نوشتم یک فرم دارم بالا صد تا ابزار روش هستش که اینقدر پر شده صفحه بندی کردم اون فرم چون اطلاعات زیادی از مشتری همون لحظه میگیره که کلی بررسی از دیتابیس قبل ذخیره انجام میده و و بعد از ذخیره باز کلی عملیات ذخیره و چند تا دونه ویرایش و در آخر سر عملیات باز خوانی اطلاعات تا اطلاعات ثبت شده فراخوانی بینش روی فروش اگه همون لحظه اطلاعات ثبت شده رو ویرایش کرد با مشکلی برخورد نکنه که بالغ به 30 هزار خط شد این یک فرم چون فرم مادر و اصلی هستش و سر رفت و برگشت زیاد به سمت سرور با EF بنده زیاد زمین خوردم. به همین دلیل تو ADO بدون مشکل کاهش سرعت سریعی تو برنامه تحت شبکه که 5 نفر همزمان استفاده میکنن و برنامه روی سیستم سرور نیست روی یک سیستم معمولی با رم 8 و CPU Celeron خوب داره کار میکنه و اطلاعات بهشون نشان میده ولی تو EF من 20 عملیات بررسی دیتابیس و قبل و بعد از ذخیره انجام میدم سیستم به کل دیگه میخوابی. چون سیستم ضعیف هستش ولی این سیستم جز خود کاربر از اون استفاده میکنه 5 نفر دیگه همون لحظه ازش استفاده میکنن.
سر گزارش گیری های بازده زمانی چون تاریخ شمسی ذخیره میکردم تو نوع فیلد Text مشکل ذخیره نداشتم ولی تو گزارش گیری ها برحسب تاریخ خیلی من اذیت میکرد. و باعث میشود گزارش نگیرم درست و همه گزارش من ایراد داشت بخاطر همین مجبورم همه رو ببرم سمت سرور تا با مشکل بر نخورم