私はdt1Clonedとdt2Clonedという名前の2つのデータテーブルを持っています。私は次のようにこれら2つのテーブルを結合するためにLINQクエリを実装している:この上記のクエリをimplimentingでDBNull.Valueを型 'System.DateTime'にキャストできません。 null可能な型を使用してください。 on Linq Query
var res = (from p in dt1Cloned.AsEnumerable()
join t in dt2Cloned.AsEnumerable()
on p.Field<Int64>("WorkId") equals t.Field<Int64>("WorkId")
select new
{
DivisionId = p.Field<Int64>("DivisionId"),
DistrictId = p.Field<Int64>("DistrictId"),
MCId = p.Field<Int64>("MCId"),
ACId = p.Field<Int64>("ACId"),
PCId = p.Field<Int64>("PCId"),
DivisionName = p.Field<string>("DivisionName"),
DistrictName = p.Field<string>("DistrictName"),
MCName = p.Field<string>("MCName"),
AssemblyCName = p.Field<string>("AssemblyCName"),
ParliamentaryCName = p.Field<string>("ParliamentaryCName"),
WorkId = p.Field<Int64>("WorkId"),
WorkDetail = p.Field<string>("WorkDetail"),
WorkName = p.Field<string>("WorkName"),
RoadCode = p.Field<string>("RoadCode"),
AdApp = p.Field<string>("AdApp"),
//!Convert.IsDBNull(dr.t1.Field<DateTime?>("Step Start Time")) ? dr.t1.Field<DateTime?>("Step Start Time") : DBNull.Value
//AdminAppDate = !Convert.IsDBNull(p.Field<DateTime>("AdminAppDate")) ? p.Field<DateTime>("AdminAppDate") : DBNull.Value,
AdminAppDate = p.Field<DateTime>("AdminAppDate"),
TargetDate = p.Field<DateTime>("TargetDate"),
AppAmt = p.Field<Int64>("AppAmt"),
TApp = p.Field<string>("TApp"),
TechAppDate = p.Field<DateTime>("TechAppDate"),
TAppAmt = p.Field<Int64>("TAppAmt"),
SourceOfFunds = p.Field<string>("SourceOfFunds"),
AllocatedAmt = p.Field<Int64>("AllocatedAmt"),
ReleaseAmt = p.Field<Int64>("ReleaseAmt"),
WStatus = p.Field<string>("WStatus "),
Expenditure = p.Field<string>("Expenditure"),
ExpenditurePer = p.Field<Int64>("ExpenditurePer"),
ProgressPercentage = p.Field<Int64>("ProgressPercentage"),
Progress = p.Field<string>("Progress"),
UserTypeId = p.Field<Int64>("UserTypeId"),
UserWorkType = p.Field<string>("UserWorkType"),
SchemeId = p.Field<Int64>("SchemeId"),
SchemeName = p.Field<string>("SchemeName"),
AgencyId = p.Field<Int64>("AgencyId"),
AgencyName = p.Field<string>("AgencyName"),
TADate = p.Field<DateTime>("TADate"),
AADate = p.Field<DateTime>("AADate"),
StatusDate = p.Field<DateTime>("StatusDate"),
ProgressDate = p.Field<DateTime>("ProgressDate"),
ReleaseDate = p.Field<DateTime>("ReleaseDate"),
AllocationDate = p.Field<DateTime>("AllocationDate"),
ExpDate = p.Field<DateTime>("ExpDate"),
TimeLimit = p.Field<Int64>("TimeLimit"),
TimeSpent = p.Field<Int64>("TimeSpent"),
TimeSpentPer = p.Field<double>("TimeSpentPer"),
TimeDiff = p.Field<double>("TimeDiff"),
EarthWorkP = p.Field<double>("EarthWorkP"),
EarthWorkC = p.Field<double>("EarthWorkC"),
SolingP = p.Field<double>("SolingP"),
SolingC = p.Field<double>("SolingC"),
WearingP = p.Field<double>("WearingP"),
WearingC = p.Field<double>("WearingC"),
RaisingP = p.Field<double>("RaisingP"),
RaisingC = p.Field<double>("RaisingC"),
StrengtheningP = p.Field<double>("StrengtheningP"),
StrengtheningC = p.Field<double>("StrengtheningC"),
PCLaidP = p.Field<double>("PCLaidP"),
PCLaidC = p.Field<double>("PCLaidC"),
ModifyDate = p.Field<DateTime>("ModifyDate"),
VillageName = t.Field<string>("VillageName"),
}).ToList();
、私は例外を取得しています「 『のSystem.DateTime』とタイプするDBNull.ValueのをキャストすることはできませんNULL可能タイプを使用してください。」 。この問題を解決し、すべてのデータ型のNULL値を処理するにはどうすればよいですか?
をエラーはあなたがする必要があるすべてのものを言い、それはとてもフィード –