通用存储库,CreateObjectSet ()方法
我试图实现一个通用的存储库,我现在就有这个:
using System; using System.Collections.Generic; using System.Linq; using System.Data; using System.Data.Entity.Core.Objects; using Web_API.Models; namespace Web_API.DAL { class GenericRepository : IRepository where T : class { private ApplicationDbContext entities = null; IObjectSet _objectSet; public GenericRepository(ApplicationDbContext _entities) { entities = _entities; _objectSet = entities.CreateObjectSet(); } ...
我在使用此方法调用时遇到问题: entities.CreateObjectSet();
它应该没问题,但我得到这个错误:
我已经将System.Data.Entity添加到我的项目中,此时我不知道还能做什么。 我正在关注本教程http://www.codeproject.com/Articles/770156/Understanding-Repository-and-Unit-of-Work-Pattern 。 有谁知道如何解决这个问题?
您需要将方法更改为如下所示:
public GenericRepository(ApplicationDbContext _entities) { entities = _entities; _objectSet = entities.Set(); //This line changed. }
这应该具有您想要的function。 .Set
是返回所用类型的DbSet
的generics方法。
更新:
随着返回类型的更改,您还需要更改_objectSet
类型。
DbSet _objectSet;