2011-01-27 5 views
3

データベーステーブルに新しい列を追加しました。私たちはEDMXデータモデルをリフレッシュしてきましたし、新しい列がうまく表示されEDMX新しい列がToList()呼び出しでエラーを生成します

Name: DisplayAsSoldOut 
Type: Boolean 
NOT NULLABLE 
Default Value: 0 

次のように列は定義されています。私たちはASP.NET 4.0プラットフォーム上にC#を使用しています。

私たちは、リストから継承し、我々は以下の方法持って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をインポートしてデータベースから簡単な読み込みを実行してもうまくいきました。誰かが似たようなものを走っている?

私は長い投稿をお詫びしますが、可能な限り多くの情報を提示したいと考えていました。

+0

テーブルを削除してEDMXに再追加しましたか? –

+0

@うんうん...残念ながら働かなかった。 –

+0

AddRangeメソッドのソースコードを投稿できますか? – Andrei

答えて

0

私はedmxファイルが手動で修正する必要が間違っていることに関連する同様の問題を抱えていました。

これらのファイルは非常に間違っていたかを把握するために、編集には少し難しいです私は古き良きWinMergeのを使用して次に

全体Model.edmxとModel.designer.csを削除し、再追加バックアップを作成したI 2つのファイルセットを比較し、何が間違っているかを把握しました。私は実際に詳細を覚えていないので非常に難解でしたが、EDMXセクションの1つからの追加または欠落したエントリだと思います。

関連する問題