Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LinqToSql可空列_C#_Sql_Sql Server_Linq To Sql - Fatal编程技术网

C# LinqToSql可空列

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。这是我的密码:

我的数据库中有一个名为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。这是我的密码:

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类,并通过向项目中添加新类来重新生成它们。