110,502
社区成员
发帖
与我相关
我的任务
分享
public interface IDAL<T>: IDisposable
{
int SaveChanges();
IQueryable<T> All<T>() where T : class; //这里为何报错:提示类型参数T与外部类型IDAL<T>类型同名,如何修改,我希望实现这个接口的时候填入一个类型,然后All或者Find等操作的时候不再需要填写类型
IQueryable<T> Set<T>() where T : class;
T Find<T>(int Id) where T : class;
void Insert<T>(T entity) where T : class;
void Update<T>(T entity) where T : class;
void Delete<T>(T entity) where T : class;
List<T> SqlQuery<T>(string sql);
int ExecuteSqlCommand(string sql);
long GetNextSequenceValue(string sequenceName);
}
public interface IDAL<T> where T : class
{
int SaveChanges();
IQueryable<T> All<T>(); //前面返回值的T没有问题,后面传入的T报错:类型参数T与外部类型IDAL<T>类型同名
IQueryable<T> Set<T>();
T Find<T>(int Id);
void Insert<T>(T entity);
void Update<T>(T entity);
void Delete<T>(T entity);
List<T> SqlQuery<T>(string sql);
int ExecuteSqlCommand(string sql);
long GetNextSequenceValue(string sequenceName);
}
[/quote]
All和Set不用加<T>
因为类型已经固定为T了public interface IDAL<T> where T : class
{
int SaveChanges();
IQueryable<T> All<T>(); //前面返回值的T没有问题,后面传入的T报错:类型参数T与外部类型IDAL<T>类型同名
IQueryable<T> Set<T>();
T Find<T>(int Id);
void Insert<T>(T entity);
void Update<T>(T entity);
void Delete<T>(T entity);
List<T> SqlQuery<T>(string sql);
int ExecuteSqlCommand(string sql);
long GetNextSequenceValue(string sequenceName);
}
public interface IDAL<T> where T : class
{
int SaveChanges();
IQueryable<T> All<T>(); //前面返回值的T没有问题,后面传入的T报错:类型参数T与外部类型IDAL<T>类型同名
IQueryable<T> Set<T>();
T Find<T>(int Id);
void Insert<T>(T entity);
void Update<T>(T entity);
void Delete<T>(T entity);
List<T> SqlQuery<T>(string sql);
int ExecuteSqlCommand(string sql);
long GetNextSequenceValue(string sequenceName);
}
[/quote]