【发布时间】:2014-05-28 23:53:06
【问题描述】:
我需要进行左连接并使用选择运算符的情况。 我的 LINQ 基础是这样的并且有效:
resultado.Dados =
(
from a in db.AgendaHorario
join b in db.Agenda on a.AgendaID equals b.AgendaID
join c in db.Profissional on a.ProfissionalID equals c.ProfissionalID into d
from e in d.DefaultIfEmpty()
select new
{
id = a.AgendaHorarioID,
Medico = e.Identificacao
});
但我必须添加一个新字段并且它应该被格式化,然后我的 LINQ 看起来像这样:
resultado.Dados =
(
from a in db.AgendaHorario
join b in db.Agenda on a.AgendaID equals b.AgendaID
join c in db.Profissional on a.ProfissionalID equals c.ProfissionalID into d
from e in d.DefaultIfEmpty()
select new
{
id = a.AgendaHorarioID,
Medico = e.Identificacao,
start = a.Horario.ToString("yyyy-MM-dd HH:mm:ss")
}
);
发生此错误:
LINQ to Entities does not recognize the method 'System.String ToString(System.String)' method, and this method cannot be translated into a store expression.
如果在db.AgendaHorario.ToList() 和db.Agenda.ToList() 和db.Profissional.ToList() 中添加 ToList() 或 AsEnumerable() 出现的错误是:
Object reference not set to an instance of an object.
我应该怎么做才能与案例和字段以及格式化字段进行左连接
【问题讨论】:
标签: c# asp.net linq entity-framework