通配符在LINQ to SQL中我試圖尋找雙類型的值:LINQ到SQL搜索雙
var q = from a in db.GetTable<HKKS_Medlemmer>()
from g in db.HKKS_Get_grader_Kun_Grad(Convert.ToInt32(a.Skif))
where a.Aktiv == true &&
(a.Skif.ToString().StartsWith(SearchValue) ||
SqlMethods.Like(a.Navn, "%" + SearchValue + "%") ||
SqlMethods.Like(a.Mellemnavn, "%" + SearchValue + "%") ||
SqlMethods.Like(a.Efternavn, "%" + SearchValue + "%") ||
SqlMethods.Like(a.Adresse, "%" + SearchValue + "%") ||
SqlMethods.Like(a.Telefon, "%" + SearchValue + "%") ||
SqlMethods.Like(a.Mobil, "%" + SearchValue + "%") ||
SqlMethods.Like(a.PostNr, "%" + SearchValue + "%") ||
SqlMethods.Like(a.town, "%" + SearchValue + "%") ||
SqlMethods.Like(a.mail, "%" + SearchValue + "%"))
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 = "http://www.hkks.dk/" + a.Picture,
Age = db.fn_GetAge((a.CPR), DateTime.Now),
Cpr = a.CPR
};
我也試過這樣:
var u = from a in db.GetTable<HKKS_Medlemmer>()
from g in db.HKKS_Get_grader_Kun_Grad(Convert.ToInt32(a.Skif))
.Where (p => Object.Equals(a.Skif, SearchValue))
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 = "http://www.hkks.dk/" + a.Picture,
Age = db.fn_GetAge((a.CPR), DateTime.Now),
Cpr = a.CPR
};
但沒有人給我正確的結果,如果我正在尋找994並期望結果給我99469的記錄。
有什麼建議嗎?
哪個字段是雙?你不能只是先把它轉換成一個字符串,然後對它做一個'LIKE'? – rsbarro 2013-05-08 14:06:09
a.Skif是雙。 .StartsWith實際上生成一個LIKE [994%],但是轉換ToString()生成一個(CONVERT(NVARCHAR(30),[t0]。[Skif],2)LIKE @ p11) – 2013-05-08 14:44:47