دستور Update به صورت Parent-Child با استفاده از Linq
این جدول منه.
public class Category : BaseEntity
{
public string Name { get; set; }
public virtual Category ParentCategory { get; set; }
public long? ParentCategoryId { get; set; }
public virtual ICollection<Category> SubCategories { get; set; }
}
public abstract class BaseEntity<Tkey>
{
public Tkey Id { get; set; }
public DateTime InsertTime { get; set; } = DateTime.Now;
public DateTime UpdateTime { get; set; }
public bool IsRemoved { get; set; } = false;
public DateTime? RemoveTime { get; set; }
}
میخوام SubCategory IsRemoved هایی که ParentCategoryId شون برابر با Id خود Category هست رو true کنم. چه دستوری باید بنویسم.
پاسخ هوش مصنوعی
شما می توانید برای به روزرسانی وضعیت IsRemoved
در زیرمجموعه ها (SubCategories) از LINQ به صورت زیر استفاده کنید:
using (var context = new YourDbContext())
{
// فرض کنید که categoryId شناسه دسته بندی پدر است
long categoryId = ...; // شناسه دسته بندی خود را تعیین کنید
var subCategories = context.Categories
.Where(c => c.ParentCategoryId == categoryId)
.ToList();
foreach (var subCategory in subCategories)
{
subCategory.IsRemoved = true;
subCategory.UpdateTime = DateTime.Now; // زمان به روزرسانی را نیز می توانید به روزرسانی کنید
}
context.SaveChanges(); // ذخیره تغییرات در پایگاه داده
}
جداولی که شما کدهاشون رو ارسال کردید به نظر میرسه جداولی هستن که توی مدل DbFirst ایجاد شدن. در این موارد بهتر هست تصویر جدول توی همون Sql Server رو نمایش میدادید. نکته بعدی اینکه شما یک جدول به نام Category دارید که فیلدهاش رو هم نمایش دادید اما هیچ اشاره ای به جدولی که فیلد ParentCategoryId رو داره نشده. همچنین اشاره ای به SubCategory هم نشده و این که چه فیلدهایی داره !!!
نکته دیگه اینکه جدول Category شما طبق کلاس Categoty دارای 4 فیلد هست ولی توی تصویری که از جدول Sql Server ارسال کردید فیلدهای بیشتری داره که هیچ اشاره ای نشده این فیلدها چجوری اضافه شدن یا Join شدن. به نظر میرسه سوالتون ناقص هست.
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf
- Library Animation برای کنترلهای WPF
- مشکل در تغییر مقدار Text کنترل RibbonBar در کامپوننت DevExpress
- قرار دادن مقادیر ارسالی یک ستون از جدول به صورت سطری در استیمول