是否可以在VB.Net中为MySQL连接创建通用CRUD存储库,而不依赖于任何第三方ORM?
我的意思是,MySQL CRUD依赖于字符串来识别您要访问的表和字段,同时我们拥有的是.Net对象。
实现这一目标的唯一方法是使用ORM和/或Reflection类吗?我们不能对对象或字符串做些什么来相互匹配吗?
假设我有这个存储库界面:
public interface IRepository<T> where T:class
{
void Insert(T entity);
void Delete(T entity);
IQueryable<T> GetAll();
T GetById(string id);
}
在看到这个界面后,我想到的是为每个对象创建一个个人存储库,即使CRUD方法非常相似。
例如,我必须为Employee CRUD创建一个存储库。
class EmployeeRepository : IRepository<Employee>
{
private string _query;
public IQueryable<Employee> GetAll(Employee entity)
{
_query = "SELECT * FROM tbl_msemployee";
//Do query here, which will eventually return a list of Employee object
}
}
答案 0 :(得分:0)
我想最好使用现有的ORM来处理CRUD操作。然后,您可以在此orm层之上构建您的存储库(可能是t4或其他代码生成)和您的服务层。