0

何もしないで、このエラーが発生することがあります

これはランダムに表示されます

私はこのフレームワークを使用します: CodeFirst タイプのエンティティ、Mvc3

異なるデータ型または他のモデルでこのエラーが発生することがあります。

' Cat 'の ' CatID ' プロパティを'Boolean' 値に設定できませんでした。このプロパティを「Int32」型の null 以外の値に設定する必要があります

また

'Cat' の 'CatID' プロパティを ' String ' 値に設定できませんでした。このプロパティを「Int32」型の null 以外の値に設定する必要があります

私のサイトの主題はニュースの発行であり、私のクライアント オペレーターはサイトを操作し、データを挿入/編集します。

編集: このエラーはページに対するものではないことがわかります。このエラーが発生した場合、サイトのページが読み込まれず、すべてのページにこのメッセージが表示されます

私のモデル:

public class SubCatNews
{
    [Key]
    public int SubCatNewsID { get; set; }
   // [EdmScalarPropertyAttribute(IsNullable = true)]
   // public int? SubCatID { get; set; }
    [Required(ErrorMessage = "some error")]
    public string Title { get; set; }
    [Required(ErrorMessage = "some error")]
    [AllowHtml]
    [DataType(DataType.Html)]
    public string Summary { get; set; }
    [Required(ErrorMessage = "some error")]
    [AllowHtml]
    [DataType(DataType.Html)]
    public string Details { get; set; }
    [EdmScalarPropertyAttribute(IsNullable = true)]
    public bool? ImpStatus { get; set; }
    [EdmScalarPropertyAttribute(IsNullable = true)]
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
    public DateTime? Created { get; set; }
    [EdmScalarPropertyAttribute(IsNullable = true)]
    public bool? Visible { get; set; }
    [EdmScalarPropertyAttribute(IsNullable = true)]
    public string pic { get; set; }
    [EdmScalarPropertyAttribute(IsNullable = true)]
    public int? UsersID { get; set; }
    [EdmScalarPropertyAttribute(IsNullable = true)]
    public int? StatusID { get; set; }
    [EdmScalarPropertyAttribute(IsNullable = true)]
    public int? NewsTypeID { get; set; }
    [EdmScalarPropertyAttribute(IsNullable = true)]
    public int? ZonesID { get; set; }
    [EdmScalarPropertyAttribute(IsNullable = true)]
    public int? lanID { get; set; }
    //public int RatingSubCatNewsID { get; set; }



    public virtual Users Users { get; set; }
   // public virtual SubCat SubCat { get; set; }
    public virtual NewsStatus Status { get; set; }
    public virtual NewsType NewsType { get; set; }
    public virtual ICollection<SubCatNewsComment> SubCatNewsComments { get; set; }
    public virtual ICollection<NewsInSubCat> NewsInSubCatss { get; set; }
    public virtual ICollection<SubNewsInTag> SubNewsInTags { get; set; }
    //public virtual RatingSubCatNews RatingSubCatNews { get; set; }
}

しかし、web.config に変更を加えると、サイトがアップするのではないかと思っています。

これは、エンティティにデータと値をキャッシュするためのものだと思います

私のコンテキスト作成者:

public abstract class BaseController<TEntityType, TIdType> : ContextGridController<HNewsPortalContext, TEntityType, TIdType>
    where TEntityType : class
{
    protected override HNewsPortalContext CreateContext()
    {
        return new HNewsPortalContext(); 
    }
}

この前に、私の Context Creator は、次のように Context を返します。

HNewsPortalContext.Singleton;

これは静的コンテキストのためであり、エンティティ キャッシングがこのエラーを発生させるためだったと思いますが、コンテキストを新規作成すると、エラーが修正されません

サイトにこのエラーが発生した場合、web.config で少し変更 (カスタム エラー モードの値を Off または RemoteOnly に切り替える) して保存すると、サイトが起動します。

タンスを助けてください

私の完全なエラー メッセージ: 完全なメッセージの画像 完全なメッセージの画像

4

2 に答える 2

1

デバッガーをアタッチし、例外で中断し、スタック トレースをチェックして、どのコードがプロパティを設定しているかを確認します。

于 2012-05-05T07:31:48.233 に答える
-1

私が確認したところ、アプリケーションプールがオーバーフローしていたため、サイトが共有サーバー上にあり、セッションの有効期限が非常に長かったことが原因でした

終了

于 2012-05-09T07:01:48.987 に答える