استفاده از navigation property یک کلاس در propery دیگر همان کلاس در Entity framewoek code first
دوستان عزیز سلام
یه سوال داشتم: من در کلاس Entity Framework یک navigation property دارم و نیاز دارم یکی دیگه از پروپرتی های همون کلاس در بخش get از این navigation استفاده کنه.
چکار باید بکنم؟
این پروپرتی محاسباتی هست و علاوه بر داده هایی که از navigation propery بهشون می رسم از یکی دیگه از پروپرتی های همون کلاس هم استفاده میکنه.
ممنون از وقتی که میگذارید.
نقل قول: استفاده از navigation property یک کلاس در propery دیگر همان کلاس در Entity framewoek code f
فیلدهای محاسباتی جنبه نمایشی دارند و از مدلهاتون حذفش کنید و اتقال بدید به کلاسهای ویومدل
چون این فیلدها هنگام تبدیل به کوئری معادل اسکیولی ندارند
ولی برای تعریف باید بدینصورت تعریف کنید
مثلا فیلد FullName
[NotMapped]
[Computed]
public string FullName
{
get
{
return LastName + ", " + FirstName;
}
نقل قول: استفاده از navigation property یک کلاس در propery دیگر همان کلاس در Entity framewoek code f
دوست عزیز به سوالم دقت نکردید.
سوال من این بود که چه جوری از navigation propery استفاده کنم وگرنه شیوه نوشتن فیلد محاسباتی در Entity Framework همون طوری هست که شما نوشتید.
مشکل کد شما اینه که یا فیلد محاسباتی معادلی در دیتابیس داده که دیگه نوشتن [NotMapped] اشتباه هست یا معادلی نداره و دیگه نوشتن [Computed] غلط هست.
نقل قول: استفاده از navigation property یک کلاس در propery دیگر همان کلاس در Entity framewoek code f
منظور من اینه که بکارگیری صحیح فیلد محاسباتی در یک ویومدل هست و اونو حتمن از مدلتون حذف کنید
و در اینجا شما باید ذر سازنده کلاس مدلتون اون فیلد رو بوسله فیلد ناوبری مقدار دهی کنید
ولی باز این کار ممکنه خطاهایی داشته باشه مثل نال بودن فیلد ناوبری در ضمن این خواسته شما بنظرم Lazy Loading رو اجرا میکنه که سرباز اضافی داره
نقل قول: استفاده از navigation property یک کلاس در propery دیگر همان کلاس در Entity framewoek code f
همونطور که فرمودید با اینکه در سازنده فیلد ناوبری مقداردهی شده باز هم نال هست.
Lazy Loading در اینجا فعاله ولی کار نمی کنه. حتی virtual رو از navigation property برداشتم باز هم تغییری نکرد.