我曾经这样d.PODate.ToString()
显示(请参阅图片),我可以使用inspect元素看到它……我只想显示日期而不是时间,当我尝试使用d.PODate.ToString("d")
它时,给了我这样的错误Method 'System.String ToString(System.String)' has no supported translation to SQL
,同样也d.PODate.ToShortDateString()
得到了这样的错误Method 'System.String ToShortDateString()' has no supported translation to SQL.
编辑
这是我的GET方法
[HttpGet]
public Models.SysDataTablePager Get()
{
NameValueCollection nvc = HttpUtility.ParseQueryString(Request.RequestUri.Query);
string sEcho = nvc["sEcho"].ToString();
int iDisplayStart = Convert.ToInt32(nvc["iDisplayStart"]);
string sSearch = nvc["sSearch"].ToString();
int iSortCol = Convert.ToInt32(nvc["iSortCol_0"]);
string sSortDir = nvc["sSortDir_0"].ToString();
var BranchId = Convert.ToInt32(((wfmis.Global)HttpContext.Current.ApplicationInstance).CurrentBranchId);
var Count = db.TrnPurchaseOrders.Where(d => d.MstUser.Id == secure.GetCurrentUser() &&
d.MstBranch.Id == BranchId).Count();
var PurchaseOrders = from d in db.TrnPurchaseOrders
where d.MstBranch.Id == BranchId &&
d.MstBranch.MstUser.Id == secure.GetCurrentUser()
select new Models.TrnPurchaseOrder
{
Id = d.Id,
PeriodId = d.PeriodId,
Period = d.MstPeriod.Period,
BranchId = d.BranchId,
Branch = d.MstBranch.Branch,
PONumber = d.PONumber,
POManualNumber = d.POManualNumber,
//PODate = d.PODate.ToShortDateString(),
PODate = d.PODate.ToShortDateString(), //<------
SupplierId = d.SupplierId,
Supplier = d.MstArticle.Article,
TermId = d.TermId,
Term = d.MstTerm.Term,
RequestNumber = d.RequestNumber,
//DateNeeded = d.DateNeeded.ToShortDateString(),
DateNeeded = d.DateNeeded.ToString(), //<------
Particulars = d.Particulars,
RequestedById = d.RequestedById == null ? 0 :
d.RequestedById.Value,
RequestedBy = d.MstUser.FullName,
IsClosed = d.IsClosed,
PreparedById = d.PreparedById,
PreparedBy = d.MstUser.FullName,
CheckedById = d.CheckedById,
CheckedBy = d.MstUser1.FullName,
ApprovedById = d.ApprovedById,
ApprovedBy = d.MstUser2.FullName,
IsLocked = d.IsLocked,
CreatedById = d.CreatedById,
CreatedBy = d.MstUser3.FullName,
//CreatedDateTime = d.CreatedDateTime.ToShortDateString(),
CreatedDateTime = d.CreatedDateTime.ToString(),
UpdatedById = d.UpdatedById,
UpdatedBy = d.MstUser4.FullName,
//UpdatedDateTime = d.UpdatedDateTime.ToShortDateString()
UpdatedDateTime = d.UpdatedDateTime.ToString()
};
switch (iSortCol)
{
case 2:
if (sSortDir == "asc") PurchaseOrders = PurchaseOrders.OrderBy(d => d.PODate).Skip(iDisplayStart).Take(10);
else PurchaseOrders = PurchaseOrders.OrderByDescending(d => d.PONumber).Skip(iDisplayStart).Take(10);
break;
case 3:
if (sSortDir == "asc") PurchaseOrders = PurchaseOrders.OrderBy(d => d.PONumber).Skip(iDisplayStart).Take(10);
else PurchaseOrders = PurchaseOrders.OrderByDescending(d => d.PODate).Skip(iDisplayStart).Take(10);
break;
case 4:
if (sSortDir == "asc") PurchaseOrders = PurchaseOrders.OrderBy(d => d.Supplier).Skip(iDisplayStart).Take(10);
else PurchaseOrders = PurchaseOrders.OrderByDescending(d => d.Supplier).Skip(iDisplayStart).Take(10);
break;
default:
PurchaseOrders = PurchaseOrders.Skip(iDisplayStart).Take(10);
break;
}
var PurchaseOrderPaged = new Models.SysDataTablePager();
PurchaseOrderPaged.sEcho = sEcho;
PurchaseOrderPaged.iTotalRecords = Count;
PurchaseOrderPaged.iTotalDisplayRecords = Count;
PurchaseOrderPaged.TrnPurchaseOrderData = PurchaseOrders.ToList();
return PurchaseOrderPaged;
}
编辑2
我在数据库的DateTime上得到了这个...
d
来自数据库;目前,它不作为.NET对象存在。您正在要求LINQ-to-SQL在数据库中执行.ToShortDateString(),该数据库没有转换功能。
如果d
先选择这些值并.ToList()
在查询末尾使用,则可以使用字符串格式化功能创建模型。
例如:
// original db query, still returns IQueryable.
var dbPurchaseOrders = from d in db.TrnPurchaseOrders
where d.MstBranch.Id == BranchId &&
d.MstBranch.MstUser.Id == secure.GetCurrentUser();
// change db query to local, in-memory object list
var localPurchaseOrders = PurchaseOrders.ToList();
// change the local db.TrnPurchaseOrders objects into your Models.TrnPurchaseOrder objects.
// kept the d variable because I'm too lazy to change all lines of your code.
var PurchaseOrders = from d in localPurchaseOrders
select new Models.TrnPurchaseOrder
{
Id = d.Id,
PeriodId = d.PeriodId,
Period = d.MstPeriod.Period,
BranchId = d.BranchId,
Branch = d.MstBranch.Branch,
PONumber = d.PONumber,
POManualNumber = d.POManualNumber,
//PODate = d.PODate.ToShortDateString(),
PODate = d.PODate.ToShortDateString(), //<------
SupplierId = d.SupplierId,
Supplier = d.MstArticle.Article,
TermId = d.TermId,
Term = d.MstTerm.Term,
RequestNumber = d.RequestNumber,
//DateNeeded = d.DateNeeded.ToShortDateString(),
DateNeeded = d.DateNeeded.ToString(), //<------
Particulars = d.Particulars,
RequestedById = d.RequestedById == null ? 0 : d.RequestedById.Value,
RequestedBy = d.MstUser.FullName,
IsClosed = d.IsClosed,
PreparedById = d.PreparedById,
PreparedBy = d.MstUser.FullName,
CheckedById = d.CheckedById,
CheckedBy = d.MstUser1.FullName,
ApprovedById = d.ApprovedById,
ApprovedBy = d.MstUser2.FullName,
IsLocked = d.IsLocked,
CreatedById = d.CreatedById,
CreatedBy = d.MstUser3.FullName,
//CreatedDateTime = d.CreatedDateTime.ToShortDateString(),
CreatedDateTime = d.CreatedDateTime.ToString(),
UpdatedById = d.UpdatedById,
UpdatedBy = d.MstUser4.FullName,
//UpdatedDateTime = d.UpdatedDateTime.ToShortDateString()
UpdatedDateTime = d.UpdatedDateTime.ToString()
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句