데이터베이스 테이블에 새 열을 추가했습니다. 열은 다음과 같이 정의됩니다.EDMX 새 열이 ToList() 호출에서 오류를 생성합니다.
Name: DisplayAsSoldOut
Type: Boolean
NOT NULLABLE
Default Value: 0
EDMX 데이터 모델을 새로 고치고 새로운 열이 잘 표시됩니다. 우리는 C#을 사용하는 ASP.NET 4.0 플랫폼을 사용하고 있습니다.
우리는 목록에서 상속 우리는 다음과 같은 방법을 가지고있는 PagedList 내 인터페이스 IPagedList
을 implenents 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를 가져 와서 데이터베이스에서 간단한 읽기를 할 수 있었고 정상적으로 작동했습니다. 비슷한 사람이 있습니까?
나는 긴 게시물에 사과하지만 최대한 많은 정보를 제시하고 싶었습니다.
테이블을 제거하고 EDMX에 다시 추가해 보았습니까? –
@Theun 옙 ... 불행히도 작동하지 않았다. –
AddRange 메소드의 소스 코드를 게시 할 수 있습니까? – Andrei