微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

EntityFramework Extensions UpdateFromQuery 中的无效更新表达式异常

如何解决EntityFramework Extensions UpdateFromQuery 中的无效更新表达式异常

我正在使用 EF 6 和 Z.EntityFramework.Extensions。

以下代码

using (var context = contextFactory())
{
    var modified = context.Receita.
        Where(r => r.V_UID == receitaEletronica.vendaUid && r.numeroreceita == receitaEletronica.NumeroReceita).
        Join(context.Tabela_Comparticipacao.
            Where(t => entidades.Contains(t.ec_uid)).
            Join(context.Tabela_Comparticipacao.Where(t => t.flag_elect == 1),source => source.ec_uid,dest => dest.ec_uid,(source,dest) => new { Source = source,Dest = dest }),r => r.TaCo_UID,t => t.source.TaCo_UID,(r,t) => new { Receita = r,NovoTaCo = t.Dest.TaCo_UID }).
        UpdateFromQuery(r => new Receita { TaCo_UID = r.NovoTaCo });
}

抛出以下异常:

Message: 
    Test method winphar.services.receitas.ReceitasDAOTest.TestAtualizarReceitaElectronicaTaCoUidEntidadesCentralizadas threw exception: 
    System.Exception: Oops! Invalid update expression,the body is not a NewExpression. Please refer to the documentation to get examples about how to use this feature.
  Stack Trace: 
    DbContextExtensions.[](IQueryable`1 ,Expression`1 ,Action`1 ,Boolean )
    DbContextExtensions.UpdateFromQuery[TEntity](IQueryable`1 query,Expression`1 updateExpression,Action`1 bulkOperationFactory)
    DbContextExtensions.UpdateFromQuery[TEntity](IQueryable`1 query,Expression`1 updateExpression)
    ReceitasDAO.AtualizarReceitaElectronicaTaCoUidEntidadesCentralizadas(ReceitaEletronica receitaEletronica,List`1 entidades) line 114
    ReceitasDAOTest.TestAtualizarReceitaElectronicaTaCoUidEntidadesCentralizadas() line 267

我做错了什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。