在 EF6 中将字符串列设置为可为空

本文关键字:设置 字符串 EF6 | 更新日期: 2023-09-27 17:57:06

我有一个模型,我在EF6上创建了它:

public partial class Comment
{
    [DisplayName("شناسه نظر")]
    public int Id { get; set; }
    [Required(ErrorMessage = "متن نظر را وارد کنید")]
    [DisplayName("متن نظر")]
    public string CommentText { get; set; }
    [DisplayName("تعداد پسندیدن ")]
    public long LikeCount { get; set; }
    [DisplayName("تعداد نپسندیدن")]
    public long DisLikeCount { get; set; }
    [DisplayName("تاریخ انتشار ")]
    public System.DateTime PublishDate { get; set; }
    [DisplayName("وضعیت نمایش ")]
    public string Visible { get; set; }
    [DisplayName("نام کاربری ")]
    public Nullable<string> AutherUserName { get; set; }
    [DisplayName("شناسه نظراصلی")]
    public Nullable<int> CommentFKId { get; set; }
    [DisplayName("شناسه کاربر")]
    public Nullable<int> StudentId { get; set; }
    [DisplayName("شناسه محتوا ")]
    public Nullable<int> ContentId { get; set; }
    public virtual Comment Comments { get; set; }
    public virtual Comment Comment1 { get; set; }
    public virtual Student Student { get; set; }
    public virtual Content Content { get; set; }
}

如您所见,我的模型中有几个可为 null 的 int 列,但我无法将字符串列设置为 null:

public Nullable<string> AutherUserName { get; set; }

我得到了这个错误:

类型"

string"必须是不可为空的值类型,才能将其用作泛型类型或方法"System.Nullable"中的参数"T"

我正在使用 MVC4

在 EF6 中将字符串列设置为可为空

字符串是引用类型,因此已经"可为空"。只有值类型(如 int)可以为空,因为它们不能为空。