我有一个屏幕,在数据库员工表上进行基本搜索。搜索参数
public class EmployeeSearchParameter
{
public EmployeeSearchParameterType SearchParameterType { get; set; }
public string EmployeeSearchParameterValue { get; set; }
}
public enum EmployeeSearchParameterType
{
FirstName = 1,
LastName = 2,
EmpId= 3,
IsActive = 4
}
请问这个是灵活的情况下,如果我有:
截至目前我已经创建了一个SearchParameter类
用户将姓,名,部门,IsActive等搜索更多支持自定义分页的选项,比如开始行号,结束行号,排序方式等?
或者我可以创建一个抽象类搜索并执行?
public abstract class Search
{
public virtual Int PageSize=10;
public virtual string SortBy="DESC"
//..etc
}
public class EmployeeSearchParameter:Search
{//stuffs
}
或ISEARCH 接口
public class EmployeeSearchParameter:ISearch
{ }
为更好的设计/简单和不过架构问题的任何输入?
像页面大小和排序顺序的参数最好由用户决定,因此会成为用户界面的问题。搜索应该只提供一种执行搜索的方法,而不是真的被页面大小值所关注。 – Ngm
如果您正在寻找灵活性来构建您的选择查询,请查看以下网址:http://www.codeproject.com/文章/ 13419/SelectQueryBuilder-Building-complex-and-flexible-S – Ngm