Я хочу получить дату из базы данных. Я использую этот запрос LINQ: это весь мой контроллерИзвлечь дату из LINQ в переменной
[HttpGet]
public ActionResult FillSettlementDate(string Tenor1)
{
DateTime issueDate = Convert.ToDateTime(Session["IssueDate1"]);
int aucid = Convert.ToInt32(Session["auctionid"]);
string products= Convert.ToString(Session["Product_Id"]);
var SettleDate = db.AUCDATA_TENORS
.Where(c => c.TENOR_ID == Tenor1 && c.ISSUE_DATE == issueDate && c.AUCTION_ID ==aucid && c.PRODUCT_ID ==products)
.Select(c => c.SETTLE_DATE).ToList();
return Json(SettleDate, JsonRequestBehavior.AllowGet);
}
это дает мне Не поддерживается Exception
Исключение типа «System.NotSupportedException» произошло в System.Data.Entity. dll, но не обрабатывался в коде пользователя
Дополнительная информация: LINQ to Entities не распознает метод 'System.String ToString()', и этот метод не может быть переведен в выражение хранилища.
Я хочу, чтобы получить эту дату и передать его в формате JSON
return Json(SettleDate, JsonRequestBehavior.AllowGet);
Вы сказали, что хотите получить ** дату **, но запрос возвращает коллекцию (а не одну дату). Нет, где в коде вы использовали '.ToString()', поэтому ошибка не связана с тем, что вы показали. –
@StephenMuecke хорошо, может быть, 'issueDate' - это строка, поэтому, возможно, для сравнения' c.ISSUE_DATE == issueDate' она пытается внутренне преобразовать ISSUE_DATE в строку. Нам определенно нужна дополнительная информация. – Charlie
@CarlosAlejo в этом случае он не будет компилироваться с ошибкой «не может сравнивать DateTime со строкой» – fubo