开发者社区> 问答> 正文

使用EF使用API​​将数据与SQL表联接

我有这个结构:

用于注释和其他数据表的SQL数据库(这似乎与该问题无关)。注释表中有票证的参考。为此,我正在使用Entity Framework加载数据。 票证的API调用,我正在使用HttpClientC#中的。 现在,我想使用SQL查询将这两个对象相互连接,以从注释中查询多个其他相关数据。

在SQL中,我知道您可以做这样的事情。将表声明为变量,插入一些数据并将其与注释合并。

declare @tickets table(
    ID int primary key, 
    [Subject] nvarchar(max)
);

-- Making API call and insert results into @tickets

select *
from Notes note inner join @tickets tick on tick.ID = note.TicketID
where tick.Subject like @q + '%';

我的问题是,在EF中能否获得相同的结果?我知道我无法使用EF进行API调用,因此我在method中这样做

展开
收起
祖安文状元 2020-01-05 14:45:28 495 0
1 条回答
写回答
取消 提交回答
  • 从查询中删除分配,您就可以了。

    var list = db.Notes
         .Join(
             tickets,
             note => note.TicketID,
             tick => tick.ID,
             (note, tick) => new { note, tick}
    
         )
         .ToList();
         foreach(var item in list)
              item.note.Ticket = item.tick;
    
    

    另外,您也可以制作一个,new Note()但是必须逐个属性地复制它。

    如果这是在EF模型中建立的关系,则不需要最后一次迭代,也不需要整个Join。

    会很短

    2020-01-05 14:45:38
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载