[英]Difference Of Dates in Linq To Entities
我正在嘗試獲得否。 通過減去2個日期來計算天數,但是這兩個試驗都說-'DataSet不支持system.Nullable <>
public DataTable GetData()
{
var qry = from a in MyDB.tblBranch.Where(a.EntryDate.HasValue &&
a.exitdate.hasvalue)
join e in MyDB.tblEmp on a.Eid equals e.Eid
select new
{
id = a.branchid,
name = e.empname,
days = System.Data.Objects
.EntityFunctions.DiffDays(a.ExitDate,a.EnterDate)
};
DataTable dt = qry.ToDataTable();
return dt;
}
EntityFunctions.DiffDays()
返回Nullable<int>
,因此您必須處理空結果
例如
qry
.Where(d => d.days.HasValue)
.Select(d => d.Value)
編輯
嘗試這樣
var qry = MyDB.tblBranch
.Where(a=>a.branchid==1)
.Select(a => new
{
days = System.Data.Objects
.EntityFunctions.DiffDays(a.ExitDate,a.EnterDate)
})
.Where(d => d.days.HasValue)
.Select(d => d.Value);
DataTable dt = qry.ToDataTable();
如果您想保留空值,則可以這樣做
var qry = MyDB.tblBranch
.Where(a=>a.branchid==1)
.Select(a => new
{
days = System.Data.Objects
.EntityFunctions
.DiffDays(a.ExitDate,a.EnterDate)
})
.Select(b => b.HasValue ? (Object) b.Value : DBNull.Value);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.