我正在尝试创建一个可通过 Internet 访问的业务对象数据库层。
我想调用如下的数据库访问器方法:
_databaseHander.Employee.SelectBetweenDates(date1, date2);
_databaseHandler.PayDetails.SelectAll();
_databaseHandler.BusinessArea.InsertAll(businessAreaData);
通过 HTTP 调用,这将被转换为以下内容:
www.website.com/DatabaseObject/Employee/SelectBetweenDates/Date1=yyyyMMdd&Date2=yyyyMMdd
www.website.com/DatabaseObject/BusinessArea/InsertAll (will be sent as a post)
我不确定如何做到这一点。我希望它会类似于以下内容:
public class DatabaseHandler
{
private DatabaseContext _context;
public DatabaseHandler(DatabaseContext context)
{
_context = context;
}
public static class Employee
{
public static IEnumerable<EmployeeData> SelectBetweenDates(DateTime date1, DateTime date2)
{
return _context.Select(x=>x.FromDate <=date1 && x.ToDate>=date2);
}
}
}
这似乎是对“静态”的滥用......而且我什至不确定是否可以这样编码。有人对我如何进行有任何想法吗?
我试图拆分方法调用的原因是自动完成很有用,即。键入 _databaseHandler。不会为每个数据库对象返回 4 或 5 个方法。
我还想将该类拆分为部分类,以获得更好的可读性以避免 10,000 行类。