.Net MySQL通用CRUD存储库

时间:2013-02-17 13:25:57

标签: c# mysql .net vb.net repository

是否可以在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
    }
}

1 个答案:

答案 0 :(得分:0)

我想最好使用现有的ORM来处理CRUD操作。然后,您可以在此orm层之上构建您的存储库(可能是t4或其他代码生成)和您的服务层。

相关问题