[英]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.