繁体   English   中英

SQL命令进入linq表达式实体框架

[英]SQL command into linq expression entity framework

我有2张桌子:Oceny_przedmioty和Studenci。 Studenci和Oceny_przedmioty是一对一的关系(一个学生可以拥有一个以上的年级)。 我需要从此SQL中进行:

SELECT Oprz_Ocena 
    FROM Oceny_przedmioty 
    UNION SELECT ST_Nr_indeksu 
          FROM Studenci 
          WHERE ST_Nr_indeksu = '11000'

linq表达式Visual Studio将理解的内容。 我使用实体框架。 我尝试过这样的事情

   var currentGrade= (from Oceny_przedmioty in dbContext.Oceny_przedmioty
                            select Oceny_przedmioty.ID_Studenta).Union
                             (from Studenci in dbContext.Studenci
                              select Studenci.ID_Studenta);

但它甚至无法识别联盟(不包含联盟的定义)。 感谢您的任何帮助!

你可以这样尝试吗 using System.Linq;包含名称空间using System.Linq; 如果尚未完成

var india = context.Orders.Where(o => o.ShipCountry == "India").Select(o => o);
var usa= context.Orders.Where(o => o.ShipCountry == "USA").Select(o => o);
var IndiaUnionusa = india.Union(usa);

对你来说,它将像

 var quer1= (from Oceny_przedmioty in dbContext.Oceny_przedmioty
                            select Oceny_przedmioty.ID_Studenta);
 var query2 = (from Studenci in dbContext.Studenci
                              select Studenci.ID_Studenta);
  var currentGrade = query1.Union(query2);

好像是int的问题? 可为空的类型

 var quer1= (from Oceny_przedmioty in dbContext.Oceny_przedmioty
                            select Oceny_przedmioty.ID_Studenta)
                            .ToList();
 var query2 = (from Studenci in dbContext.Studenci
                              select Studenci.ID_Studenta)
                             .ToList();
 var currentGrade = query1.Union(query2);

谢谢大家的回应! 问题也与查询有关,此代码解决了我所有的问题

var query1 = dbContext.Oceny_przedmioty    
           .Join(dbContext.Studenci,
              post => post.ID_Studenta,        
              meta => meta.ID_Studenta,  
              (post, meta) => new { meta.ST_Nr_indeksu, post.OPrz_Ocena })
            .Where(postAndMeta => postAndMeta.ST_Nr_indeksu == 11000);    

       dataGridView1.DataSource = query1.ToList();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM