合并表时的Linq2db InvalidCastException

时间:2018-06-27 02:45:51

标签: c# orm linq2db

我正在尝试使用自己的类对象列表更新表Registry。我发现我should use temp tables要与我的收藏合并。

forms.formName.ListName.column(column number,oItem)

然后将这个临时表与目标表一起merge

column(column number,oItem)

但是当我使用合并操作时,我会在

中获取InvalidCastException。
var tsource = Content.GroupBy(l => l.CardId).Select(s => new DocumentContent
    {
       CardId = s.Key,
       Quantity = s.Sum(c=> c.Quantity),
    }).ToList();
var tempTable = db.CreateTable<DocumentContent>("#tmp");
tempTable.BulkCopy(tsource);
var source = tempTable.Select(s => s);

在\ LinqToDB \ Linq \ Builder \ AllJoinsLinqBuilder.cs:第44行

这是什么原因?怎么了?

更新

堆栈跟踪

db.GetTable<Registry>()
.Merge()
.Using(source)
.On(s => s.CardId, f => f.CardId)
.UpdateWhenMatched((t, s) => new Registry()
{
   Quantity = t.Quantity + s.Quantity,
})
.Merge();

值ex.ToString()

 LinqToDB.Linq.Builder.AllJoinsLinqBuilder.BuildMethodCall(ExpressionBuilder builder, MethodCallExpression methodCall, BuildInfo buildInfo)

0 个答案:

没有答案