【发布时间】:2020-09-14 11:18:00
【问题描述】:
我已连接到 SQL 数据库表,我正在尝试为模型文件夹中的字符串 CountryName 创建数据注释。当它给我一个错误时在网络上:
System.InvalidCastException:无法将“System.Int32”类型的对象转换为“System.String”类型。
namespace WorldEventsWeb.Models
{
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
public partial class tblCountry
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public tblCountry()
{
this.tblEvents = new HashSet<tblEvent>();
}
public int CountryID { get; set; }
public string CountryName { get; set; }
[StringLength(50)]
public Nullable<int> ContinentID { get; set; }
public virtual tblContinent tblContinent { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<tblEvent> tblEvents { get; set; }
}
}
【问题讨论】:
-
为什么要在
Nullable<int>类型上使用StringLength属性?属性高于它们所描述的类型,而不是低于它。 -
在注释字段之前使用注释:
[StringLength(50)] public string CountryName { get; set; }
标签: c# asp.net-mvc entity-framework model-view-controller visual-studio-2019