' SubCatNewsID' “SubCatNews”中的财产'无法设置为'布尔'值。您必须将此属性设置为类型为' Int32的非null值

时间:2012-05-05 07:27:32

标签: asp.net-mvc-3 entity-framework model

我有一段时间没有这个错误,我没有采取任何行动

随机出现

我使用这个框架: CodeFirst类型中的实体,Mvc3

有时我会在不同的数据类型或其他模型中获得此错误:

  

Cat ”上的“ CatID ”属性无法设置为“布尔”值。您必须将此属性设置为“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之间切换自定义错误模式值)并保存,然后网站启动

请帮帮我 坦

我的完整错误消息: full message image full message image

2 个答案:

答案 0 :(得分:1)

附加调试器,中断异常并检查堆栈跟踪以查看设置属性的代码。

答案 1 :(得分:-1)

我检查并发现这是因为我的应用程序池溢出了 我的网站位于共享服务器上,会话过期时间非常长

光洁度