Browse Source

remove IHasExtraProperties restrictions

pull/8898/head
liangshiwei 6 years ago
parent
commit
e8b9ee6b90
  1. 5
      framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContext.cs
  2. 4
      framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/ObjectExtending/EfCoreObjectExtensionManagerExtensions.cs
  3. 2
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionInfo.cs
  4. 6
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionManager.cs

5
framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContext.cs

@ -31,13 +31,11 @@ using Volo.Abp.Uow;
namespace Volo.Abp.EntityFrameworkCore namespace Volo.Abp.EntityFrameworkCore
{ {
public abstract class AbpDbContext<TDbContext> : DbContext, IAbpEfCoreDbContext, ITransientDependency, IHasExtraProperties public abstract class AbpDbContext<TDbContext> : DbContext, IAbpEfCoreDbContext, ITransientDependency
where TDbContext : DbContext where TDbContext : DbContext
{ {
public IAbpLazyServiceProvider LazyServiceProvider { get; set; } public IAbpLazyServiceProvider LazyServiceProvider { get; set; }
public ExtraPropertyDictionary ExtraProperties { get; }
protected virtual Guid? CurrentTenantId => CurrentTenant?.Id; protected virtual Guid? CurrentTenantId => CurrentTenant?.Id;
protected virtual bool IsMultiTenantFilterEnabled => DataFilter?.IsEnabled<IMultiTenant>() ?? false; protected virtual bool IsMultiTenantFilterEnabled => DataFilter?.IsEnabled<IMultiTenant>() ?? false;
@ -88,7 +86,6 @@ namespace Volo.Abp.EntityFrameworkCore
protected AbpDbContext(DbContextOptions<TDbContext> options) protected AbpDbContext(DbContextOptions<TDbContext> options)
: base(options) : base(options)
{ {
ExtraProperties = new ExtraPropertyDictionary();
} }
protected override void OnModelCreating(ModelBuilder modelBuilder) protected override void OnModelCreating(ModelBuilder modelBuilder)

4
framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/ObjectExtending/EfCoreObjectExtensionManagerExtensions.cs

@ -12,7 +12,7 @@ namespace Volo.Abp.ObjectExtending
public static ObjectExtensionManager MapEfCoreDbContext<TDbContext>( public static ObjectExtensionManager MapEfCoreDbContext<TDbContext>(
[NotNull] this ObjectExtensionManager objectExtensionManager, [NotNull] this ObjectExtensionManager objectExtensionManager,
[NotNull] Action<ModelBuilder> modelBuilderAction) [NotNull] Action<ModelBuilder> modelBuilderAction)
where TDbContext: DbContext , IHasExtraProperties where TDbContext : DbContext
{ {
return objectExtensionManager.AddOrUpdate( return objectExtensionManager.AddOrUpdate(
typeof(TDbContext), typeof(TDbContext),
@ -25,7 +25,7 @@ namespace Volo.Abp.ObjectExtending
public static ObjectExtensionManager MapEfCoreEntity<TEntity>( public static ObjectExtensionManager MapEfCoreEntity<TEntity>(
[NotNull] this ObjectExtensionManager objectExtensionManager, [NotNull] this ObjectExtensionManager objectExtensionManager,
[NotNull] Action<EntityTypeBuilder> entityTypeBuildAction) [NotNull] Action<EntityTypeBuilder> entityTypeBuildAction)
where TEntity : IHasExtraProperties, IEntity where TEntity : IEntity
{ {
return MapEfCoreEntity( return MapEfCoreEntity(
objectExtensionManager, objectExtensionManager,

2
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionInfo.cs

@ -23,7 +23,7 @@ namespace Volo.Abp.ObjectExtending
public ObjectExtensionInfo([NotNull] Type type) public ObjectExtensionInfo([NotNull] Type type)
{ {
Type = Check.AssignableTo<IHasExtraProperties>(type, nameof(type)); Type = type;
Properties = new ConcurrentDictionary<string, ObjectExtensionPropertyInfo>(); Properties = new ConcurrentDictionary<string, ObjectExtensionPropertyInfo>();
Configuration = new ConcurrentDictionary<object, object>(); Configuration = new ConcurrentDictionary<object, object>();
Validators = new List<Action<ObjectExtensionValidationContext>>(); Validators = new List<Action<ObjectExtensionValidationContext>>();

6
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionManager.cs

@ -25,7 +25,6 @@ namespace Volo.Abp.ObjectExtending
[NotNull] [NotNull]
public virtual ObjectExtensionManager AddOrUpdate<TObject>( public virtual ObjectExtensionManager AddOrUpdate<TObject>(
[CanBeNull] Action<ObjectExtensionInfo> configureAction = null) [CanBeNull] Action<ObjectExtensionInfo> configureAction = null)
where TObject : IHasExtraProperties
{ {
return AddOrUpdate(typeof(TObject), configureAction); return AddOrUpdate(typeof(TObject), configureAction);
} }
@ -50,8 +49,6 @@ namespace Volo.Abp.ObjectExtending
[NotNull] Type type, [NotNull] Type type,
[CanBeNull] Action<ObjectExtensionInfo> configureAction = null) [CanBeNull] Action<ObjectExtensionInfo> configureAction = null)
{ {
Check.AssignableTo<IHasExtraProperties>(type, nameof(type));
var extensionInfo = ObjectsExtensions.GetOrAdd( var extensionInfo = ObjectsExtensions.GetOrAdd(
type, type,
_ => new ObjectExtensionInfo(type) _ => new ObjectExtensionInfo(type)
@ -64,7 +61,6 @@ namespace Volo.Abp.ObjectExtending
[CanBeNull] [CanBeNull]
public virtual ObjectExtensionInfo GetOrNull<TObject>() public virtual ObjectExtensionInfo GetOrNull<TObject>()
where TObject : IHasExtraProperties
{ {
return GetOrNull(typeof(TObject)); return GetOrNull(typeof(TObject));
} }
@ -72,8 +68,6 @@ namespace Volo.Abp.ObjectExtending
[CanBeNull] [CanBeNull]
public virtual ObjectExtensionInfo GetOrNull([NotNull] Type type) public virtual ObjectExtensionInfo GetOrNull([NotNull] Type type)
{ {
Check.AssignableTo<IHasExtraProperties>(type, nameof(type));
return ObjectsExtensions.GetOrDefault(type); return ObjectsExtensions.GetOrDefault(type);
} }

Loading…
Cancel
Save