از ef core 2 به بعد اضافه شده

بیشترین استفاده اش برای نگهداری داده های forgen key هستش

خوب توی مثال بالا ما FK نداریم و وقتی که میزنیم دیتا بیس ساخته بشه خودش میره یه CategoryId که Foregn key هستش رو میسازه - بهش میگن shadow property

خوب حالا یه سری اطلاعات دیگه مثل زمان ذخیره سازی دیتا در دیتا بیس هستش که میتونیم بعدا ازشون استفاده کنیم ولی نمیخوایم داخل entity مون بنویسیمیش و اینطوری میایم درستش میکنیم:

خوب حالا میخوایم از یه shadow property دیگه استفاده کنیم — CatogeryId یه shadow property هستش

currentValue خوب اینجا اومدیم با استفاده از ef از طریق context اومدیم به product دسترسی پیدا کردیم و بعد به پراپرتی CatogeryId و بعد currentValue - دقت کنید که هنوز این اطلاعات به دیتا بیس وارد نشده و ما داریم در داخل خوده برنامه از طریق ef بهش دسترسی پیدا میکنیم خوب اون عددی که اونجا نوشته شده عددی و ایندکسی هستش که ef داره به صورت رزرو تعیین میکنه و ازش در relation ها استفاده میکنه و بعد از این در دیتا بیس ذخیره شد بهمون ایندکس و عدد درست رو بهمون میده

خوب حالا میخوایم یه حالت دیگه رو بررسی کنیم

توی دیتا بیس یه تاریخی به صورت دیفالت برامون ست شده و ما میخوایم دستی بهش تاریخ بدیم و این رو دقت داشته باشید که فیلد insertDate یه shadow property هستش و باید بهش دسترسی پیدا کنیم:

زمانی که میخوایم از این اطلاعات که در دیتا بیس هستش استفاده کنیم این اطلاعات در لایه busines استفاده نمیشه