其他人都是正确的,这会创建两个单独的类。要不创建两个单独的类并通过部分类将数据与逻辑分开,您的项目中可以有以下两个文件:
然后您的 Employee.cs 代码将如下所示:
namespace YourNamespace
{
partial class Employee
{
public string EmpID { get; set; }
public string EmpName { get; set; }
}
}
Employee.bl.cs 看起来像这样:
namespace YourNamespace
{
partial class Employee
{
public static List<Employee> GetListOfEmployees()
{
//DATA ACCESS
var emps = GetEmployeesFromDb(); // fetch from db
return emps;
}
}
}
虽然我认为拥有一个用于检索数据的类比拥有inside ofRepository
更合适。GetListOfEmployees
Employee
更新:
当我说存储库时,我指的是存储库设计模式。存储库是用于检索和存储对象(例如从关系数据库)的接口。如果您使用的是 LINQ to SQL 或 ADO.NET 实体框架之类的 ORM,它们通常会自动生成填充此角色的类。但是,如果您编写自己的数据库访问代码,则可以像这样创建自己的存储库类:
public class Repository
{
public Repository(string connectionString)
{
// ...
}
public IEnumerable<Employee> GetEmployees()
{
return GetEmployeesFromDb();
}
public Employee GetEmployeeById(Guid id)
{
// ...
}
public void StoreEmployee(Employee employee)
{
// ...
}
// etc.
}
这样做的好处是您不必在整个Employee
类或任何其他持久类中放置数据库代码。所有的数据库访问都是通过一个接口完成的。您还可以创建一个interface
并拥有多个存储库实现;这样,例如,您可以有一种方法将Employee
实例存储在文件中,而无需更改Employee
类。