私は一般的な共有ポイント DALL を構築しているので、ここで助けが必要です。これが当てはまるかどうかはわかりませんが、論理的には当てはまるはずです。
私の問題は、私の gr8 TTL が、使用する必要があるデータ ソース (SQL または SharePoint リスト) が不明であり、プロジェクトの開発を開始する必要があることです。
SPリストは私のデータソースであるため、DALを構築する必要があるため、将来の変更は最小限になります。
今私が持っているのは、delete、getAll などのすべての一般的な操作を含む baseDAL です。
myBase dal クラスは次のようになりました
public class BaseDAL<T> where T : BaseInfo,new()
{
public virtual List<T> GetAllItem()
{
//code to read from any data source and return data
}
public virtual Boolean Delete(T entity)
{
int entityID = ((BaseInfo)entity).ID;
deleteEntity(entityID);
}
}
そして私は主要なビジネスオブジェクトエンティティとして baseInfo calss を持っています。
そして、2つのビジネスエンティティ(従業員、学生)と、従業員用と学生用の2つのDALがあるとしましょう
だから私が考えているのは、Tタイプに基づいてすべてのアイテムを返すgetAllItemのコードを実装しているので、コードはbaseDALで以下のようになるかもしれません
public virtual List<T> GetAllItem()
{
SPListItemCollection items = //code to read from list please note that list name saved in baseInfo object
T.getBusinessListItems(items); //toList
}
EmployeeDAL では、SPListItemCollection からビジネス エンティティへのマッパー関数を実装します。コードはこれに似ています。
public virtual List<Employee> getBusinessListItems(SPListItemCollection items)
{
//loop the items and fill them in list of employee objects
return list<Employee>
}
これがケースを明確にすることを願っています。これがそれを行うための書き込み方法であるかどうかはわかりません。私はかなり技術的な人ではありません。それを行う別の方法があれば、助けてください。