• #
    ‫۴ سال و ۷ ماه قبل، جمعه ۱۱ بهمن ۱۳۹۸، ساعت ۱۵:۳۲
    چطور میشه به این دوستان گفت که Exclude رو هم اضافه کنن. الان خیلی از ORM‌ها این امکان رو دارن، مثل Sequelize.
    • #
      ‫۴ سال و ۷ ماه قبل، پنجشنبه ۲۴ بهمن ۱۳۹۸، ساعت ۱۳:۴۶
      Sequelize ای که مثال زدید، exclude رو  به صورت زیر داره:
      Model.findAll({
        attributes: { exclude: ['baz'] }
      });
      خوب، انجام اینکار با LINQ که در EF هم پشتیبانی میشه با نوشتن یک Select سفارشی از خواصی که نیاز هست، میسره (و strongly typed هم هست). اگر بحث Queryable.Concat/Union/Intersect/Except/etc هست که مدتی هست که پشتیبانی میشه.
      • #
        ‫۴ سال و ۷ ماه قبل، پنجشنبه ۲۴ بهمن ۱۳۹۸، ساعت ۱۴:۱۲
        ممنون از پاسخ شما.
        موردی که مد نظر من هست به اینصورته که یک Entity داریم با 50 Property، در هنگام واکشی نیازی به 3 تا از Propertyها نیست. در صورتی که بخواهیم از Select سفارشی استفاده کنیم باید 47 Property مورد نیاز رو بنویسیم در صورتی که امکان Exclude باشه فقط کافیه اون 3 مورد اعلام بشه(البته با توجه به لینک ارسالی شما ظاهرا امکان Except اضافه شده که امیدوارم بشه عنوان فیلدها رو ذکر کرد). یا حالت دیگری که باز هم پیش میاد اینه که در مواردی میخواهیم Lazy Loading فعال باشه اما بر روی چند مورد خاص در برخی موارد اعمال نشه.
        • #
          ‫۴ سال و ۷ ماه قبل، پنجشنبه ۲۴ بهمن ۱۳۹۸، ساعت ۱۶:۱۷
          برای چنین کاری متد ProjectTo کتابخانه‌ی Auto mapper هم هست و با EF هم کار می‌کنه.