![](/img/trans.png)
[英]Unable to cast the type 'System.Int32' to type 'System.Object'. LINQ to Entities only supports casting Entity Data Model primitive types
[英]Unable to cast the type 'System.Int32' to type'System.Object'. LINQ to Entities only supports casting EDM primitive or enumeration types
嗨,我相信这个问题在StackOverFlow上已经是100次了,但是我没有解决此问题。 这是使我麻烦的代码行
DatumSnimanja = (x.VrijemeSnimanja != null) ? ((DateTime)x.VrijemeSnimanja).Day + "." + ((DateTime)x.VrijemeSnimanja).Month + "." + ((DateTime)x.VrijemeSnimanja).Year : null,
请解决此问题。
完整的代码
var result = resultVideoKlipBaseInfo.Select(x => new
{
x.IDvideoKlip,
x.LokacijaHDD,
x.NazivVideoKlipa,
x.Snimatelj.IDsnimatelj,
x.Snimatelj.Ime,
x.Snimatelj.Prezime,
x.Snimatelj.Storno,
DatumSnimanja = (x.VrijemeSnimanja != null) ? ((DateTime)x.VrijemeSnimanja).Day + "." + ((DateTime)x.VrijemeSnimanja).Month + "." + ((DateTime)x.VrijemeSnimanja).Year : null,
SatIMinutaSnimanja = (x.VrijemeSnimanja != null) ? ((DateTime)x.VrijemeSnimanja).Hour + ":" + ((DateTime)x.VrijemeSnimanja).Minute : null,
x.VrijemeSnimanja,
x.VrijemeTrajanjaKlipa
});
return Ok(result);
通过此代码,我将从数据库中获取DateTime,并将其从DateTime格式转换为字符串格式。
我想从这里2016-12-31 00:00:00.000像这样31.12.2016
谢谢大家阅读这个问题:)
我通过更改代码行来解决此问题
DatumSnimanja = (x.VrijemeSnimanja != null) ? ((DateTime)x.VrijemeSnimanja).Day + "." + ((DateTime)x.VrijemeSnimanja).Month + "." + ((DateTime)x.VrijemeSnimanja).Year : null,
在这个
DatumSnimanja = SqlFunctions.DateName("day", x.VrijemeSnimanja) + "." + SqlFunctions.DateName("month", x.VrijemeSnimanja) + "." + SqlFunctions.DateName("year", x.VrijemeSnimanja),
谢谢大家的帮助! :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.