今天思考的问题:
1. 首先加一个缓冲datatable 的策略是不是可取?
这里首先考虑服务器端自动生成的datatable,显然adapter已经不能用。数据源是服务,返回的内嵌的类型,如何保证能将取到的数据再组装成datatable。这有些画蛇添足。
另外一种做法,不定义复杂的datatable,只是方便使用的一个类型。
2. 终于想明白了一点: 不要执着于datatable怎么样设计,只要先设计好adapter的接口就可以了。然后每当应用时就去调adapter的接口。其案例中其实是adapter在数据库的上层,提供增,删,查,改的接口,这里的adapter 虽然是有一定意义的特殊的adapter,但直接于数据库交互还是靠的oracledataadapter,而datatable实质只是一个数据类型,是adapter在实现从数据库中提取东西时的一个应用到的类型,不应理解为一直存在的东西。
3. 服务提供的get 的方法只有
string[] GetApplications();
string[] GetAllUsers(string application);
UserInfo GetUserInfo(string application,string userName);
string GetPasswordQuestion(string application,string userName);
string[] GetAllRoles(string application);
string[] GetRolesForUser(string application,string userName); (可以获得user的roles)
string[] GetUsersInRole(string application,string role);
string[] GetRoles(string applicationName,string userName);