From f40e85f99655d11cf63b9ee4227a39a1796aa8a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Sat, 10 Mar 2018 20:49:01 +0300 Subject: [PATCH] Consider in Entity.equals: Different tenants may have an entity with same Id --- src/Volo.Abp.Ddd/Volo/Abp/Domain/Entities/Entity.cs | 11 ++++++++++- ...tBase.cs => AbpMultiTenancyApplicationTestBase.cs} | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) rename test/Volo.Abp.MultiTenancy.Application.Tests/Volo/Abp/MultiTenancy/{AbpIdentityApplicationTestBase.cs => AbpMultiTenancyApplicationTestBase.cs} (86%) diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Domain/Entities/Entity.cs b/src/Volo.Abp.Ddd/Volo/Abp/Domain/Entities/Entity.cs index 007442f781..685df3a8be 100644 --- a/src/Volo.Abp.Ddd/Volo/Abp/Domain/Entities/Entity.cs +++ b/src/Volo.Abp.Ddd/Volo/Abp/Domain/Entities/Entity.cs @@ -1,4 +1,6 @@ -using System.Reflection; +using System; +using System.Reflection; +using Volo.Abp.MultiTenancy; namespace Volo.Abp.Domain.Entities { @@ -47,6 +49,13 @@ namespace Volo.Abp.Domain.Entities return false; } + //Different tenants may have an entity with same Id. + if (this is IMultiTenant && other is IMultiTenant && + this.As().TenantId != other.As().TenantId) + { + return false; + } + return Id.Equals(other.Id); } diff --git a/test/Volo.Abp.MultiTenancy.Application.Tests/Volo/Abp/MultiTenancy/AbpIdentityApplicationTestBase.cs b/test/Volo.Abp.MultiTenancy.Application.Tests/Volo/Abp/MultiTenancy/AbpMultiTenancyApplicationTestBase.cs similarity index 86% rename from test/Volo.Abp.MultiTenancy.Application.Tests/Volo/Abp/MultiTenancy/AbpIdentityApplicationTestBase.cs rename to test/Volo.Abp.MultiTenancy.Application.Tests/Volo/Abp/MultiTenancy/AbpMultiTenancyApplicationTestBase.cs index d97ad8378d..989d2932c7 100644 --- a/test/Volo.Abp.MultiTenancy.Application.Tests/Volo/Abp/MultiTenancy/AbpIdentityApplicationTestBase.cs +++ b/test/Volo.Abp.MultiTenancy.Application.Tests/Volo/Abp/MultiTenancy/AbpMultiTenancyApplicationTestBase.cs @@ -3,7 +3,7 @@ using Volo.Abp.MultiTenancy.EntityFrameworkCore; namespace Volo.Abp.MultiTenancy { - public class AbpMultiTenancyApplicationTestBase : AbpIntegratedTest + public abstract class AbpMultiTenancyApplicationTestBase : AbpIntegratedTest { protected override void SetAbpApplicationCreationOptions(AbpApplicationCreationOptions options) {