2

我目前正在开发一个 ASP.Net MVC3 项目。我已经设置好了,所以我的 sql 数据库根据我创建的类创建了它的表,我需要知道是否有办法设置它,以便变量可以为空,例如:

   public class Cart
   {
       [Key]
       public int RecordId { get; set; }
       public string CartId { get; set; }
       public int VideoId { get; set; }
       public int CandyId { get; set; }
       public int Count { get; set; }
       public System.DateTime DateCreated { get; set; }
       public virtual Video Video { get; set; }
       public virtual Candy Candy { get; set; }
    }

有没有办法设置 VideoId 和 Candy Id 使它们可以为空?他们现在出现的方式是作为其他表的外键。任何和所有的帮助都非常感谢。

4

2 回答 2

1

您可以使用符号使VideoIdCandyId可空:?

public int? VideoId { get; set; }
public int? CandyId { get; set; }
于 2012-07-02T17:42:07.713 回答
0

你有两个选择:

1) 使用 int 声明你的属性?

 public int? VideoId { get; set; }
 public int? CandyId { get; set; }

2) 使用常规 int 声明您的属性,但处理当您获得空值时应该发生的情况。

 VideoId = thisMightBeNull ?? 0; //?? means, if the variable is null then use 0

使用第一个选项的缺点是,如果您想将 VideoId 或 CandyId 分配给一个新变量,它应该是 int?,有时它会变得混乱。使用第二个选项,您不会遇到这个问题,但这意味着您应该处理在那一刻分配的内容(默认值)。

于 2012-07-02T18:04:54.137 回答