LINQ to SQL(基于3个表插入事实表)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LINQ to SQL(基于3个表插入事实表)相关的知识,希望对你有一定的参考价值。

我无法使用以下加入。想法是从AceBiMonthlyDaos中找到任何新的(AumProductId和IdClient)组合,以在具有唯一ID的投资表中创建条目,如果这些AumProductId和IdClient分别存在于工具和金融账户的参考表中。

var result = (from AceBi in context.AceBiMonthlyDaos
                  join Inst in context.Instruments 
                      on AceBi.AumProductId equals Inst.AceId 
                  join FinAcct in context.FinancialAccounts 
                      on AceBi.IdClient equals FinAcct.AceClientId
                  join Invst in context.Investments 
                      on new { Inst.Id, FinAcct.Id } equals { Invst.InstrumentId, Invst.FinaAcctId} into pair                                       
                      from InvestmentDao in pair.DefaultIfEmpty()
答案
var query = (from AceBi in context.AceBiMonthlyDaos
                         join Inst in context.Instruments on AceBi.AumProductId equals Inst.AceId
                         join FinAcct in context.FinancialAccounts on AceBi.IdClient equals FinAcct.AceClientId
                         join Invst in context.Investments on new { instrumentId = Inst.Id, finAccountId = FinAcct.Id } equals new { instrumentId = Invst.InstrumentId, finAccountId = Invst.FinAcctId }
                         into pair
                         from Invst in pair.DefaultIfEmpty()
                         select new { Inst, FinAcct, Invst }).Distinct();

以上是关于LINQ to SQL(基于3个表插入事实表)的主要内容,如果未能解决你的问题,请参考以下文章

Linq-To-Sql 尝试插入父实体而不是子实体

使用 LINQ to SQL 批量插入和复制记录

我试图通过加入 3 个表将值插入表中,但是我收到“ORA-00933:SQL 命令未正确结束”错误''

pl sql使用3个表编写函数

Linq to SQL 左外连接不是

使用 Linq-to-SQL 插入,其中 IDENTITY_INSERT 设置为 OFF