我有一个当前连接到数据库的应用程序。但我计划将此数据库中的数据分割为多个数据库。
例如,我在表Test_Table_1中有10,000条记录,现在它只位于一个数据库中。现在,我想将5,000个记录从此数据库移动到具有相同表名的新数据库。所以,我会有2个数据库,原始数据库将包含前5,000个记录,新数据中心将包含其余数据库(5,000个记录)。
挑战在于应用程序。我需要通过从配置文件中读取配置值来更新它,以检查它将连接到哪个数据中心。
以下是我的问题:
答案 0 :(得分:2)
CSLA不是数据访问框架或ORM,它是一个业务层框架。
它确实抽象了数据库的概念,使您的业务层可以使用来自多个数据库的数据。
与数据库的交互是数据访问层(DAL)的责任。 CSLA提供了一些高级功能,因此它以一致的方式调用您的DAL,但是由您来实现DAL。
构建包含来自多个数据库的数据的业务域对象时,一个重要的考虑因素是,如果用户保存对象的数据,则通常需要每个数据库表中的键值进行任何数据库更新。因此,您应该期望将这些键值存储在业务对象中(可能作为私有属性)。对于诸如时间戳之类的并发值也是如此。
答案 1 :(得分:0)
CSLA不是数据访问框架。它提供了抽象数据访问实现的业务对象方法。但是你仍然需要使用ADO .NET /某种ORM /等来实现数据访问层。
我会研究NHibernate和Shards包。