با سلام .
فرض کنید دو کلاس با پراپرتی های مشابه هم داریم.
public class Class1 { public Class1() { } public byte ID { get; set; } public string Name { get; set; } }
و
public class Class2 { public Class2() { } public byte ID { get; set; } public string Name { get; set; } }
که اولی یک DBSet در EF و دومی یک تابع دقیقا مشابه آن در لایه BLL.
حال در لایه BLL یک تایع میخواهم بنویسم که یک Lambda Expression دریافت کند و نتیجه را باتوجه به DBSet کلاس 1 برگرداند. مثل تابع زیر:
public static Class2 GetData(Expression<><> > input ) { Class2 result =new Class2(); using (DBDataContext odb=new DBDataContext()) { result=odb.Class1s.Single(input) //Error***** } return result; }
اما عبارت input بر اساس Class2 میباشد و هنگام اعمال بر Class1 با خطا روبرو میشوم. چطور میتوانم عین همان عبارت وارد شده به تابع را از نوع Class2 به Class1 jfndg کنم و جستجو را بر DBSet انجام دهم؟
در لایه پرزنتیشن هم کدی که وارد میشود چیزی شبیه به این میباشد.
BLL.GetData(c=>c.ID==0);
این پست در تاریخ {{ dateString(new Date(post.deleteDate)) }} توسط {{ post.deletedByUser }} حذف شده است.
دلیل حذف: {{ post.deleteReason ?? 'نامشخص' }}
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود