0

删除它,因为它显示在网络搜索中并显示公司信息

4

1 回答 1

1

您需要初始化存储库。看看样本你怎么能做到这一点:

1º 解决方案 - 不是通用实现...您可以在此场景中为每个实体执行一些特定且复杂的查询。

public class BloginectUow : IDisposable
{
    private BloginectDbContext DbContext = new BloginectDbContext();

    public ICompanyRepository Companies { get; set; }      

    // constructor
    public BloginectUow()
    {
        // initialize your repository..
        Companies = new CompanyRepository();
    }

    /// methods...
}

在这种情况下,您必须有一个类来实现您的ICompanyRepository接口:

public class CompanyRepository : ICompanyRepository {

   // methods of the interface to data access... from entity framework or nhibernate or ado.net or whatever...

}

2º 解决方案 - 或者,您可以使用通用存储库:

public class BloginectUow : IDisposable
{
    private BloginectDbContext DbContext = new BloginectDbContext();

    public IRepository<Company> Companies { get; set; }      

    // constructor
    public BloginectUow()
    {
        // initialize your repository with a generic implementation..
        Companies = new Repository<Company>();
    }

    /// methods...
}

在第二种情况下,你必须有一个Repository<T>类(它需要有 CRUD 操作......对于示例)并在你的UnitOfWork.

这样做,您将获得 DataAccess 的通用实现,但您无法在需要时执行复杂查询。如果您需要执行复杂查询,我建议您为每个实体获取一个 Repository 实现,从通用存储库继承 if 并实现执行复杂查询的方法,这是一个很好的做法。

于 2012-12-01T14:09:24.670 回答