术语是什么意思
在构建时不知道实体类型时可以使用DBset
在这句话中:
DBSet类表示用于创建,读取,更新和删除操作的实体集。在构建时不知道实体类型时,可以使用通用版本的DBSet(DbSet)。
答案 0 :(得分:1)
假设您想要创建一个存储库以便于数据访问,但您不希望为每个DBSet(或数据库中的表)创建单独的存储库。相反,您可以创建一个通用存储库,一旦初始化此存储库对象,您就可以使用此存储库对象添加要与之对应的DBSet的信息。
存储库看起来像这样
public class Repository<T> where T : EntityObject
{
public Repository(YourDBContext context) {
_context = context;
if(_context != null)
{
_dbSet = _context.Set<T>();
}
}
/* add methods for insert, update, delete, etc... */
private YourDBContext _context;
private DBSet<T> _dbSet;
}
例如,您拥有DbSets用户和评论。您现在可以使用两个DbSets的通用存储库,而不是创建存储库UserRepository和CommentRepository:
using(YourDBContext context = new YourDBContext())
{
Repository<User> userRepo = new Repository<User>(contex);
userRepo.Insert(userEntity);
Repository<Comment> commentRepo = new Repository<Comment>(context);
commentRepo.Delete(commentEntity);
}
当然,如果存储库模式还有更多,但这只是一个例子。并总结一下你的问题句子意味着什么:当你想要概括你想要用类来处理哪个DbSet时,可以使该类具有通用性,并在运行时稍后添加信息(关于哪个DbSet来解决)。
答案 1 :(得分:0)
我不知道您的确切上下文,但您可以通过使用DbSet来使用泛型类型。
更多信息here。