English 中文(简体)
如何设置一个全球条件以隐藏被删除的元素
原标题:how to set a global condition to hide entites that are deleted
  • 时间:2024-08-12 06:31:15
  •  标签:
  • c#
  • linq
I want to set a condition on all entites to hide the ones that are deleted. I could not find aa command in the Fluent Api to achieve this. protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity().HasQueryFilter(x => x.IsDeleted == false || x.IsDeleted ==null ); }
问题回答
For achieving this, you should first define a baseClass for all entities like this. (Nullable IsDeleted, depends on your scenario and business): /// /// Base class for entities in the application. /// public abstract class BaseEntity { // Properties public virtual bool? IsDeleted { get; set; } } Then You should write a configuration for this base class like bellow to apply Global query filter. /// /// Represents the abstract entity configuration for the > entity. /// public class BaseEntityConfiguration : IEntityTypeConfiguration where TEntityType : BaseEntity { public virtual void Configure(EntityTypeBuilder builder) { // Retrieve all active and un deleted objects builder.HasQueryFilter(p => p.IsDeleted != null && p.IsDeleted != false); } } Then for configuring other entities you should follow like this. Assume that you have a billing entity, then configuration would be like this: /// /// Represents the entity configuration for the > entity. /// public class BillingConfiguration : BaseEntityConfiguration { public override void Configure(EntityTypeBuilder builder) { base.Configure(builder); // Other configuration specially for Billing Entity } } Hope this help you. any question, comment plz.




相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签