这是我在mvc4中的课程:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Web;
namespace xxx.Areas.admin.Models
{
public interface IGenericRepository<T> : where T : class
{
IQueryable<T> AsQueryable();
IEnumerable<T> GetAll();
IEnumerable<T> Find(Expression<Func<T, bool>> predicate);
T Single(Expression<Func<T, bool>> predicate);
T SingleOrDefault(Expression<Func<T, bool>> predicate);
T First(Expression<Func<T, bool>> predicate);
T GetById(int id);
void Add(T entity);
void Delete(T entity);
void Attach(T entity);
}
}
但是有一些错误:
- 无法找到类型或命名空间名称'where'(您是否缺少using指令或程序集引用?)
- 找不到类型或命名空间名称“T”(您是否缺少using指令或程序集引用?)
如何解决?感谢。
答案 0 :(得分:4)
根据通用约束的msdn documentation,您必须这样做:
public interface IGenericRepository<T> where T : class
你必须没有:IGenericRepository&lt; T&GT;以及那里。