删除它,因为它显示在网络搜索中并显示公司信息
问问题
176 次
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 回答