C# LinqToSql可空列
我的数据库中有一个名为Patients的表。该表有一个名为DOB的列,并且允许Null值为true。以下是表格结构:C# LinqToSql可空列,c#,sql,sql-server,linq-to-sql,C#,Sql,Sql Server,Linq To Sql,我的数据库中有一个名为Patients的表。该表有一个名为DOB的列,并且允许Null值为true。以下是表格结构: Id int标识(1,1)不为空 名为nvarchar(50)空 LastName nvarchar(50)空 性位为空 权重小数(18,0)为空 高度小数(18,0)为空 DOB日期为空 PatientId nvarchar(50)不为空 我正在使用LinqToSql。问题是,当我想为DOB列设置null时,visualstudio告诉我DOB不可为null。这是我的密码:
- Id int标识(1,1)不为空
- 名为nvarchar(50)空
- LastName nvarchar(50)空
- 性位为空
- 权重小数(18,0)为空
- 高度小数(18,0)为空
- DOB日期为空
- PatientId nvarchar(50)不为空
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
属性的类型是什么?根据描述,大概是这样的(为了简洁而缩短):
要设置null
值,它需要是可为null的类型,例如:
public DateTime? DOB { get; set; }
当您从数据模型生成代码时,Linq到SQL应该已经为您完成了这项工作。如果代码是手动创建的,则需要相应地进行更新。如果它是自动生成的,您可能需要重新生成它。(它似乎是针对列不可为空的较旧数据模型生成的。)患者的
DOB
属性的类型是什么?根据描述,大概是这样的(为了简洁而缩短):
要设置null
值,它需要是可为null的类型,例如:
public DateTime? DOB { get; set; }
当您从数据模型生成代码时,Linq到SQL应该已经为您完成了这项工作。如果代码是手动创建的,则需要相应地进行更新。如果它是自动生成的,您可能需要重新生成它。(它似乎是针对列不可为空的较旧数据模型生成的。)患者的
DOB
属性的类型是什么?根据描述,大概是这样的(为了简洁而缩短):
要设置null
值,它需要是可为null的类型,例如:
public DateTime? DOB { get; set; }
当您从数据模型生成代码时,Linq到SQL应该已经为您完成了这项工作。如果代码是手动创建的,则需要相应地进行更新。如果它是自动生成的,您可能需要重新生成它。(它似乎是针对列不可为空的较旧数据模型生成的。)患者的
DOB
属性的类型是什么?根据描述,大概是这样的(为了简洁而缩短):
要设置null
值,它需要是可为null的类型,例如:
public DateTime? DOB { get; set; }
当您从数据模型生成代码时,Linq到SQL应该已经为您完成了这项工作。如果代码是手动创建的,则需要相应地进行更新。如果它是自动生成的,您可能需要重新生成它。(它似乎是针对列不可为空的较旧数据模型生成的。)在您的类中
Patient
DOB属性的类型是什么?@FelipeOriani,这是DateTime
。大卫的雨篷将解决你的问题:)在你的班级Patient
什么是DOB
属性?@FelipeOriani,这是DateTime
。大卫的雨篷将解决你的问题:)在你的班级Patient
什么是DOB
属性?@FelipeOriani,这是DateTime
。大卫的awnser将解决您的问题:)在您的班级Patient
什么类型的DOB
属性?@FelipeOriani,这是DateTime
。David的awnser将解决您的问题:)我如何重新生成患者表?@Mohsen:您首先是如何生成Linq到SQL对象的?重新运行。如果我没记错的话,可能有一个选项可以通过在VisualStudio中右键单击数据上下文文件来更新代码。如果没有,您始终可以删除生成的Linq to SQL类,并通过向项目中添加新类来重新生成它们。我如何重新生成患者表?@Mohsen:您最初是如何生成Linq to SQL对象的?重新运行。如果我没记错的话,可能有一个选项可以通过在VisualStudio中右键单击数据上下文文件来更新代码。如果没有,您始终可以删除生成的Linq to SQL类,并通过向项目中添加新类来重新生成它们。我如何重新生成患者表?@Mohsen:您最初是如何生成Linq to SQL对象的?重新运行。如果我没记错的话,可能有一个选项可以通过在VisualStudio中右键单击数据上下文文件来更新代码。如果没有,您始终可以删除生成的Linq to SQL类,并通过向项目中添加新类来重新生成它们。我如何重新生成患者表?@Mohsen:您最初是如何生成Linq to SQL对象的?重新运行。如果我没记错的话,可能有一个选项可以通过在VisualStudio中右键单击数据上下文文件来更新代码。如果没有,则始终可以删除生成的Linq to SQL类,并通过向项目中添加新类来重新生成它们。