【发布时间】:2013-10-18 13:12:37
【问题描述】:
我有以下方法:
public List<REP_MEDIDORDISPLAY> GetAllMedidoresDisplay()
{
return ent.TB_MEDIDOR.Select(x => new REP_MEDIDORDISPLAY
{
Data_TOI = x.Data_TOI,
Elemento = x.Elemento,
Fase = x.Fase,
KdKe = x.KD_KE,
N_Equipamento = x.Numero,
Tensao = x.Tensao,
Status = x.TB_REVISAO.Count > 0 ? "Revisão":
x.TB_CHECAGEM_INTERNA.Count > 0 ? "Checagem interna":
x.TB_MESACALIBRACAO.Count > 0 ? "Mesa de calibração":
x.TB_HIPOT.Count > 0 ? "Hipot":
x.TB_INSPECAO.Count > 0? "Inspeção" :
x.TB_AGENDAMENTO.FirstOrDefault(y => y.ID_Medidor == x.ID).Data_Agendamento.HasValue ?
--> Error here (x.TB_AGENDAMENTO.FirstOrDefault(y => y.ID_Medidor == x.ID).Data_Agendamento.Value.ToString()) :String.Empty
}).ToList<REP_MEDIDORDISPLAY>();
}
但是当我尝试将 DateTime 转换为字符串时,它会触发以下错误:
LINQ to Entities 无法识别方法“System.String ToString()”方法,并且该方法无法转换为存储表达式。
希望你们能帮帮我,我需要那个值作为字符串,我不能把它改成日期时间。
【问题讨论】:
-
我看不出这对我有什么帮助。我的转换在子查询中。
-
如果您需要这个,那么将另一列放入包含日期作为字符串的表中。或者写一个存储过程来得到同样的结果。
-
没有办法将其转换为字符串?如果我需要在类中添加一个新列,我将不得不更改很多东西 =/
-
我不在我的电脑上测试这个但为什么不使用
Data_Agendamento.Years + Data_Agendamento. Months + ....
标签: c# linq entity-framework datetime