Esempio n. 1
0
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            SeedHelper.AddSeedOnModelCreate(modelBuilder);



            modelBuilder.Entity <Kkkk>(k =>
            {
                k.HasIndex(e => new { e.TenantId });
            });
            modelBuilder.Entity <Disease>(d =>
            {
                d.HasIndex(e => new { e.TenantId });
            });
            modelBuilder.Entity <Person>(p =>
            {
                p.HasIndex(e => new { e.TenantId });
            });
            modelBuilder.Entity <AttachmentFile>(a =>
            {
                a.HasIndex(e => new { e.TenantId });
            });
            modelBuilder.Entity <AttachmentType>(a =>
            {
                a.HasIndex(e => new { e.TenantId });
            });
            modelBuilder.Entity <AttachmentEntityType>(a =>
            {
                a.HasIndex(e => new { e.TenantId });
            });
            modelBuilder.Entity <TestEntity>(t =>
            {
                t.HasIndex(e => new { e.TenantId });
            });
            modelBuilder.Entity <BinaryObject>(b =>
            {
                b.HasIndex(e => new { e.TenantId });
            });

            modelBuilder.Entity <ChatMessage>(b =>
            {
                b.HasIndex(e => new { e.TenantId, e.UserId, e.ReadState });
                b.HasIndex(e => new { e.TenantId, e.TargetUserId, e.ReadState });
                b.HasIndex(e => new { e.TargetTenantId, e.TargetUserId, e.ReadState });
                b.HasIndex(e => new { e.TargetTenantId, e.UserId, e.ReadState });
            });

            modelBuilder.Entity <Friendship>(b =>
            {
                b.HasIndex(e => new { e.TenantId, e.UserId });
                b.HasIndex(e => new { e.TenantId, e.FriendUserId });
                b.HasIndex(e => new { e.FriendTenantId, e.UserId });
                b.HasIndex(e => new { e.FriendTenantId, e.FriendUserId });
            });

            modelBuilder.Entity <Tenant>(b =>
            {
                b.HasIndex(e => new { e.SubscriptionEndDateUtc });
                b.HasIndex(e => new { e.CreationTime });
            });

            modelBuilder.Entity <SubscriptionPayment>(b =>
            {
                b.HasIndex(e => new { e.Status, e.CreationTime });
                b.HasIndex(e => new { PaymentId = e.ExternalPaymentId, e.Gateway });
            });

            modelBuilder.Entity <SubscriptionPaymentExtensionData>(b =>
            {
                b.HasQueryFilter(m => !m.IsDeleted)
                .HasIndex(e => new { e.SubscriptionPaymentId, e.Key, e.IsDeleted })
                .IsUnique();
            });

            modelBuilder.Entity <UserDelegation>(b =>
            {
                b.HasIndex(e => new { e.TenantId, e.SourceUserId });
                b.HasIndex(e => new { e.TenantId, e.TargetUserId });
            });

            modelBuilder.ConfigurePersistedGrantEntity();
        }