[英]How to convert SQL statatement containing a “NOT IN” constraint to its equivalent LINQ?
[英]Convert SQL to LINQ equivalent
我在將此語法轉換為Linq時遇到麻煩:
SELECT
Medlemmer.Skif,
Grader.Grad,
Medlemmer.Navn,
Medlemmer.Mellemnavn,
Medlemmer.Efternavn,
Medlemmer.Adresse,
Medlemmer.Telefon,
Medlemmer.Mobil,
Medlemmer.PostNr,
Medlemmer.town,
Medlemmer.mail,
Medlemmer.Picture
FROM
Medlemmer
CROSS APPLY Get_grader(Medlemmer.Skif) as Grader
WHERE
Medlemmer.Aktiv = 1
ORDER BY
Medlemmer.Navn
Get_grader()是返回包含數據的表的函數)
我在這里:
var q = from a in db.GetTable<Medlemmer>()
where a.Aktiv == true
orderby a.Navn
select new
{
Grad = db.Get_grader(Convert.ToInt32(a.Skif)),
Skif = a.Skif,
Navn = a.Navn,
Mellemnavn = a.Mellemnavn,
Efternavn = a.Efternavn,
Adresse = a.Adresse,
Telefon = a.Telefon,
Mobil = a.Mobil,
PostNr = a.PostNr,
town = a.town,
mail = a.mail,
Picture = a.Picture
};
現在,研究生院返回“ System.Collections.Generic.List`1 [Get_grader]”
如何獲得正確的值?
也許是這樣的:
var q = from a in db.GetTable<Medlemmer>()
from grad in db.Get_grader(Convert.ToInt32(a.Skif))
where a.Aktiv == true
orderby a.Navn
select new
{
Skif = a.Skif,
Grad =grad.Grad
Navn = a.Navn,
Mellemnavn = a.Mellemnavn,
Efternavn = a.Efternavn,
Adresse = a.Adresse,
Telefon = a.Telefon,
Mobil = a.Mobil,
PostNr = a.PostNr,
town = a.town,
mail = a.mail,
Picture = a.Picture
};
或者,如果您只需要一個平地機列表。 然后可能是這樣的:
var q = from a in db.GetTable<Medlemmer>()
where a.Aktiv == true
orderby a.Navn
select new
{
Skif = a.Skif,
Grad = db.Get_grader(Convert.ToInt32(a.Skif))
.Select(s=>s.Grad),
Navn = a.Navn,
Mellemnavn = a.Mellemnavn,
Efternavn = a.Efternavn,
Adresse = a.Adresse,
Telefon = a.Telefon,
Mobil = a.Mobil,
PostNr = a.PostNr,
town = a.town,
mail = a.mail,
Picture = a.Picture
};
我尚未能夠測試,但是請嘗試以下操作:
var q = from a in db.GetTable<Medlemmer>()
from g in db.Get_grader(Convert.ToInt32(a.Skif))
where a.Aktiv == true
orderby a.Navn
select new
{
Grad = g.Grad,
Skif = a.Skif,
Navn = a.Navn,
Mellemnavn = a.Mellemnavn,
Efternavn = a.Efternavn,
Adresse = a.Adresse,
Telefon = a.Telefon,
Mobil = a.Mobil,
PostNr = a.PostNr,
town = a.town,
mail = a.mail,
Picture = a.Picture
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.