如何使用Entity Framework来管理多个模式的单个C#应用程序?或者应该只有一个模式?更好的是,客户数据库还是统一数据库?
我有大约28的客户,我不知道如果我保持每一个与单独的数据库或在一个单一的数据库和统一管理我的信息的客户ID为例子。
我担心数据量会阻碍应用程序的性能。我现在使用SQL Server 2014,每个版本都带有一个系统版本,我们正在发展该系统并希望适合最佳方案。
我相信,通过客户端访问登录控制的单个应用程序,更好地维护给予。
我不知道是否有可能有单独的数据库,因为我有一些客户谁喜欢有在他们的服务器自身架构的安全管理。
如何创建动态获取连接字符串,请求的来源取决于 上下文?
public class ProductRepository {
public void Add(Product product, int clientId)
{
//Here the connection string will be set according to the client id you are saving information
var context = ContextFactory.GetContext(clientId);
context.Products.Add(product);
}
}
或者是否更好地放置在属于该信息的实体客户ID?
public class BaseEntity {
public int Id {get;set;}
public int Client_Id {get;set}
}
public class Products : BaseEntity{
public string Name {get;set;}
public double Price {get;set;}
}
你是否有经验丰富的DBA谁将主持该应用程序?听起来你对分布式应用程序并不了解,特别是在住房/管理/支持多个客户方面。花费这笔钱并付给专家它将长期为您节省 – MethodMan
数据库这个术语不幸有点含糊不清,我发现人们有时会用它来表示表,模式或整个服务器实例。你能澄清一下吗?你想知道你是否应该把你的客户放在同一张桌子上吗?在相同的模式?或在同一个sql服务器实例? –
抱歉,正确的术语是模式 –