[英]I'm getting Invalid integer literal c#
我正在嘗試在C#MVC中啟用分頁。 但是我收到了無效的整數文字'62020131100304263882789'。 大號實際上是我們創建的唯一的FaxID號-它是一個字符串。 為什么會出現此錯誤,該如何解決?
public class GenericRepository<TEntity> where TEntity : class
{
internal FaxContext context;
internal DbSet<TEntity> dbSet;
public GenericRepository(FaxContext context)
{
this.context = context;
this.dbSet = context.Set<TEntity>();
}
public virtual IEnumerable<TEntity> GetWithRawSql(string query, params object[] parameters)
{
return dbSet.SqlQuery(query, parameters).ToList();
}
//public IPagedList<T> Search(Expression<Func<T, bool>> filters, string sorting, List<string> includeList, int currentPageNumber, int pageSize)
public virtual IEnumerable<TEntity> GetAll(int skip, int take)
{
IQueryable<TEntity> query = dbSet;
System.Diagnostics.Debug.Print(context.Faxes.First().FaxID);
return query.OrderBy(TEntity => TEntity.).Skip(skip).Take(take).ToList();
return query.OrderBy(context.Faxes.First().FaxID).Skip(skip).Take(take).ToList();
}
謝謝
您正在將整數值(FaxID)傳遞給OrderBy
方法,該方法期望Expression<Func<TEntity, TKey>>
-這就是為什么您看到此錯誤的原因。
使用lambda表達式從您的實體中選擇鍵以排序結果。 應該是這樣的(假設您在TEntity上有一些約束,這使SomeProperty可供您使用-否則此處的排序沒有意義):
return query.OrderBy(t => t.SomeProperty)
.Skip(skip)
.Take(take)
.ToList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.