簡體   English   中英

我收到無效的整數文字C#

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM