LinqToSql Nullable Column
本文关键字:Column Nullable LinqToSql | 更新日期: 2023-09-27 18:11:14
我的数据库中有一个名为Patients的表。表中有一个列,名为DOB,允许Null值为true。下面是表的结构:
- Id int IDENTITY(1,1) NOT NULL,
- FirstName nvarchar(50) NULL,
- LastName nvarchar(50) NULL,
- 性别位NULL,
- 权重十进制(18,0)NULL,
- 高度十进制(18,0)NULL,
- 截止日期NULL, PatientId nvarchar(50) NOT NULL
我正在使用LinqToSql。问题是,当我想设置一个空DOB列然后Visual Studio告诉DOB是不可空的。下面是我的代码:
Patient tblPatient = new Patient();
if (txtYear.Text != "" && txtMonth.Text != "" && txtDay.Text != "")
tblPatient.DOB = Utility.ConvertPersianDateToGregorianDate(txtYear.Text + "/" + txtMonth.Text + "/" + txtDay.Text);
else
tblPatient.DOB = null; // The error is in this line
Patient
上的DOB
属性是什么类型?根据描述,大概是这样的(为了简洁而缩短):
public DateTime DOB { get; set; }
为了设置null
值,它需要是一个可空的类型,例如:
public DateTime? DOB { get; set; }
当您从数据模型生成代码时,Linq to SQL应该已经为您完成了这项工作。如果代码是手动创建的,则需要相应地更新它。如果它是自动生成的,您可能需要重新生成它。(它似乎是针对列不可空的旧数据模型生成的。)