2017-07-07 2 views
0

Je crée un système qui aura plusieurs clients. En ce moment j'utilise la même base de données et table pour tous les clients mais je pense que cela va ralentir la récupération de l'enregistrement quand j'aurai des centaines de données du client dans la même base de données. alors devrais-je créer dynamiquement une base de données séparée pour chaque nouveau client enregistré en exécutant des scripts à partir du code? (utilisera la base de données master pour gérer toutes les chaînes de connexion de l'utilisateur)Créer et utiliser plusieurs bases de données pour une seule application

J'utilise framework d'entité. la même chose sera possible en utilisant EF? cela causera-t-il un problème?

+0

c'est un sujet très général –

+3

double possible de [plusieurs bases de données Vs unique Base de données avec des données logiquement partitionnées] (https://stackoverflow.com/questions/21844479/multiple-databases-vs-single-database-with-logically-partitioned-data) – mjwills

+0

Votre question est essentiellement _can support EF DB multiples par application? _ auquel la réponse est _yes_ – MickyD

Répondre

0

Peut être que vous pouvez utiliser ABP cadre pour gérer plusieurs bases de données avec cadre d'entité. ABP vous aidera à des dépôts de registre automatique dans IocContainer en ajoutant l'attribut de tous vos DBContext (Chaque DBContext se connecter à un DB) comme suit:

[AutoRepositoryTypes(
typeof(IRepository<>), 
typeof(IRepository<,>), 
typeof(SimpleTaskSystemEfRepositoryBase<>), 
typeof(SimpleTaskSystemEfRepositoryBase<,>) 
)] 
public class SimpleTaskSystemDbContext : AbpDbContext 
{ 
    ... 
}