我们在数据库表中添加了一个新列。该列定义如下:
Name: DisplayAsSoldOut
Type: Boolean
NOT NULLABLE
Default Value: 0
我们刷新了 EDMX 数据模型,新列看起来很好。我们在使用 C# 的 ASP.NET 4.0 平台上。
我们有一个定义为 PagedList 的类,它继承自 List 并实现了一个接口 IPagedList
在 PagedList 中,我们有以下方法:
protected void Initialize(IQueryable<T> source, int index, int pageSize, int? totalCount)
{
if (index < 0)
{ throw new ArgumentOutOfRangeException("PageIndex cannot be below 0."); }
if (pageSize < 1)
{ throw new ArgumentOutOfRangeException("PageSize cannot be less than 1."); }
if (source == null)
{ source = new List<T>().AsQueryable(); }
if (!totalCount.HasValue)
{ TotalItemCount = source.Count(); }
PageSize = pageSize;
PageIndex = index;
if (TotalItemCount > 0)
{ PageCount = (int)Math.Ceiling(TotalItemCount / (double)PageSize); }
else
{ PageCount = 0; }
HasPreviousPage = (PageIndex > 0);
HasNextPage = (PageIndex < (PageCount - 1));
IsFirstPage = (PageIndex <= 0);
IsLastPage = (PageIndex >= (PageCount - 1));
if (TotalItemCount > 0)
{ AddRange(source.Skip((index) * pageSize).Take(pageSize).ToList()); }
}
当我们到达以下行时:
{ AddRange(source.Skip((index) * pageSize).Take(pageSize).ToList()); }
我们收到以下异常...
Type: System.Data.EntityCommandExecutionException
Inner Exception: "Invalid column name 'DisplayAsSoldOut'."
我试过搜索这种类型的异常,但无济于事。该列很好地出现在 EDMX 数据集中。我什至创建了一个小型一次性程序并导入 EDMX 以从数据库中进行简单读取,它运行良好。有没有人遇到过类似的事情?
我为这篇冗长的帖子道歉,但我想尽可能多地提供信息。