refactoring, improvements, fixes, etc...

This commit is contained in:
jozsef.b@aycode.com 2023-12-13 22:05:12 +01:00
parent 03698af809
commit f5e7133022
6 changed files with 46 additions and 8 deletions

View File

@ -1,6 +1,5 @@
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using AyCode.Database.Extensions;
using AyCode.Interfaces.TimeStampInfo; using AyCode.Interfaces.TimeStampInfo;
namespace AyCode.Database.DbContexts; namespace AyCode.Database.DbContexts;

View File

@ -11,9 +11,9 @@ using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Metadata.Builders; using Microsoft.EntityFrameworkCore.Metadata.Builders;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace AyCode.Database.Extensions namespace AyCode.Database.DbContexts
{ {
public static class AcDbContextExtension public static class AcDbContextExtension
{ {
public static IEntityType? GetEntityType<TEntity>(this DbContext ctx) public static IEntityType? GetEntityType<TEntity>(this DbContext ctx)
@ -52,7 +52,7 @@ namespace AyCode.Database.Extensions
foreach (var prop in originalValues.Properties) foreach (var prop in originalValues.Properties)
{ {
if (object.Equals(originalValues[prop.Name], currentValues[prop.Name]) == false) if (Equals(originalValues[prop.Name], currentValues[prop.Name]) == false)
{ {
yield return prop; yield return prop;
} }

View File

@ -0,0 +1,7 @@
using AyCode.Interfaces.Entities;
using Microsoft.EntityFrameworkCore;
namespace AyCode.Database.DbContexts;
public interface IAcEntityTypeConfiguration<TEntity> : IEntityTypeConfiguration<TEntity> where TEntity : class, IEntity
{ }

View File

@ -0,0 +1,17 @@
using AyCode.Interfaces.Users;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace AyCode.Database.ModelBuilders.Users;
public static class AcUserEntityTypeBuilderExtensions
{
public static void BuildUserToProfileRelation<TUser>(this EntityTypeBuilder<TUser> modelBuilder) where TUser : class, IUserBase
{
//throw new NotImplementedException();
}
public static void BuildUserToAddressRelation<TUser>(this EntityTypeBuilder<TUser> modelBuilder) where TUser : class, IUserBase
{
//throw new NotImplementedException();
}
}

View File

@ -0,0 +1,14 @@
using AyCode.Database.DbContexts;
using AyCode.Interfaces.Users;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace AyCode.Database.ModelBuilders.Users;
public abstract class AcUserEntityTypeDefaultConfiguration<TUser> : IAcEntityTypeConfiguration<TUser> where TUser : class, IUserBase
{
public virtual void Configure(EntityTypeBuilder<TUser> modelBuilder)
{
modelBuilder.BuildUserToProfileRelation();
modelBuilder.BuildUserToAddressRelation();
}
}

View File

@ -6,12 +6,13 @@ using AyCode.Interfaces.ServiceProviders;
namespace AyCode.Entities.ServiceProviders namespace AyCode.Entities.ServiceProviders
{ {
[Table("ServiceProviders")] [Table("ServiceProviders")]
public class ServiceProviderBase : IServiceProviderBase public abstract class ServiceProviderBase : IServiceProviderBase
{ {
public ServiceProviderBase() { } protected ServiceProviderBase() { }
public ServiceProviderBase(string name, Guid ownerId ) : this(Guid.NewGuid(), name, ownerId) { } protected ServiceProviderBase(string name, Guid ownerId ) : this(Guid.NewGuid(), name, ownerId) { }
public ServiceProviderBase(Guid id, string name, Guid ownerId) : this()
protected ServiceProviderBase(Guid id, string name, Guid ownerId) : this()
{ {
Id = id; Id = id;
Name = name; Name = name;