IGenericRepository <t>:其中T:classnot working </t>

时间:2013-03-25 08:55:19

标签: asp.net-mvc-4

这是我在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指令或程序集引用?)
  •   

如何解决?感谢。

1 个答案:

答案 0 :(得分:4)

根据通用约束的msdn documentation,您必须这样做:

public interface IGenericRepository<T> where T : class

你必须没有:IGenericRepository&lt; T&GT;以及那里。