我正在尝试将值分配给dtLancamentoReceitaDespesaDataVencimento,条件是:如果值dtLancamentoReceitaDespesaDataPagamento为null,则赋值dtLancamentoReceitaDespesaDataVencimento但指定dtLancamentoReceitaDespesaDataPagamento的值。 但是给出了以下错误:
无法隐式转换类型'System.DateTime?'到'System.DateTime'。存在显式转换(您是否错过了演员?)
dtLancamentoReceitaDespesaDataVencimento =
lancamentoReceitaDespesa.dtLancamentoReceitaDespesaDataPagamento == null ?
lancamentoReceitaDespesa.dtLancamentoReceitaDespesaDataVencimento :
lancamentoReceitaDespesa.dtLancamentoReceitaDespesaDataPagamento
LINQ:
public List<LancamentoReceitaDespesa> GetLancamentoReceitaDespesaByintCodigoGrupoUsuarioByParametro(int intCodigoGrupoUsuario, int mes, int ano)
{
return (from lancamentoReceitaDespesa in _DatabaseContext.LancamentoReceitaDespesa
where lancamentoReceitaDespesa.intCodigoGrupoUsuario == intCodigoGrupoUsuario &&
lancamentoReceitaDespesa.dtLancamentoReceitaDespesaDataVencimento.Month == mes &&
lancamentoReceitaDespesa.dtLancamentoReceitaDespesaDataVencimento.Year == ano
select new LancamentoReceitaDespesa
{
intLancamentoReceitaDespesaId = lancamentoReceitaDespesa.intLancamentoReceitaDespesaId,
intCategoriaId = lancamentoReceitaDespesa.intCategoriaId,
strLancamentoReceitaDespesaCartaoCreditoContaBancaria = lancamentoReceitaDespesa.strLancamentoReceitaDespesaCartaoCreditoContaBancaria,
intContaContabilId = lancamentoReceitaDespesa.intContaContabilId,
intFormaPagamentoId = lancamentoReceitaDespesa.intFormaPagamentoId,
intClienteFornecedorId = lancamentoReceitaDespesa.intClienteFornecedorId,
intEventoId = lancamentoReceitaDespesa.intEventoId,
strLancamentoReceitaDespesaDescricao = lancamentoReceitaDespesa.strLancamentoReceitaDespesaDescricao,
strLancamentoReceitaDespesaDocumento = lancamentoReceitaDespesa.strLancamentoReceitaDespesaDocumento,
strLancamentoReceitaDespesaTipoLancamento = lancamentoReceitaDespesa.strLancamentoReceitaDespesaTipoLancamento,
dtLancamentoReceitaDespesaDataVencimento = lancamentoReceitaDespesa.dtLancamentoReceitaDespesaDataPagamento == null ? lancamentoReceitaDespesa.dtLancamentoReceitaDespesaDataVencimento : lancamentoReceitaDespesa.dtLancamentoReceitaDespesaDataPagamento,
decLancamentoReceitaDespesaValor = lancamentoReceitaDespesa.decLancamentoReceitaDespesaValor,
dtLancamentoReceitaDespesaDataPagamento = lancamentoReceitaDespesa.dtLancamentoReceitaDespesaDataPagamento,
decLancamentoReceitaDespesaValorPago = lancamentoReceitaDespesa.decLancamentoReceitaDespesaValorPago,
dtLancamentoReceitaDespesaDataRecebimento = lancamentoReceitaDespesa.dtLancamentoReceitaDespesaDataRecebimento,
decLancamentoReceitaDespesaValorRecebido = lancamentoReceitaDespesa.decLancamentoReceitaDespesaValorRecebido,
dtLancamentoReceitaDespesaDataCompra = lancamentoReceitaDespesa.dtLancamentoReceitaDespesaDataCompra,
intCodigoGrupoUsuario = lancamentoReceitaDespesa.intCodigoGrupoUsuario,
bitLancamentoReceitaDespesaPagarAutomatico = lancamentoReceitaDespesa.bitLancamentoReceitaDespesaPagarAutomatico,
bitLancamentoReceitaDespesaLancamentoPago = lancamentoReceitaDespesa.bitLancamentoReceitaDespesaLancamentoPago,
dtLancamentoReceitaDespesaDataAlteracao = lancamentoReceitaDespesa.dtLancamentoReceitaDespesaDataAlteracao,
dtLancamentoReceitaDespesaDataCriacao = lancamentoReceitaDespesa.dtLancamentoReceitaDespesaDataCriacao
}).ToList();
}
答案 0 :(得分:2)
如果dtLancamentoReceitaDespesaDataVencimento
属于DateTime
类型,则只需在结尾添加可空类型Value
选择器:
dtLancamentoReceitaDespesaDataVencimento =
lancamentoReceitaDespesa.dtLancamentoReceitaDespesaDataPagamento == null ?
lancamentoReceitaDespesa.dtLancamentoReceitaDespesaDataVencimento :
lancamentoReceitaDespesa.dtLancamentoReceitaDespesaDataPagamento.Value