C# C LINQ到实体选择字符串混淆不支持异常
嗨,我有这个LINQ,在我的数据库中有一个行ind kalk表,MedID=--和KalkID=00057,如果我在所有工作中硬编码它们,但是如果我从字符串[]的stVar中获取它们,我会得到一个NotSupportedException:C# C LINQ到实体选择字符串混淆不支持异常,c#,linq-to-entities,notsupportedexception,C#,Linq To Entities,Notsupportedexception,嗨,我有这个LINQ,在我的数据库中有一个行ind kalk表,MedID=--和KalkID=00057,如果我在所有工作中硬编码它们,但是如果我从字符串[]的stVar中获取它们,我会得到一个NotSupportedException: ObjectSet<Kalk> kalks = ke.Kalks; var query = from kalk in kalks where kalk
ObjectSet<Kalk> kalks = ke.Kalks;
var query =
from kalk in kalks
where kalk.MedID.Equals(stVar[0])//"---"
&& kalk.KalkID.Equals(stVar[1])//"00057"
select new
{
MedID = kalk.MedID,
KalkID = kalk.KalkID,
Navn = kalk.Navn,
ValutaID = kalk.ValutaID,
Sprog = kalk.Sprog,
Dato = kalk.Dato,
SidstRettet = kalk.SidstRettet,
SidstRettetAf = kalk.SidstRettetAf,
Afrunding = kalk.Afrunding,
Kurs = kalk.Kurs,
id = kalk.id
};
foreach (var item in query)
{
MessageBox.Show(item.MedID + item.Navn);
}
试试这个:
ObjectSet<Kalk> kalks = ke.Kalks;
// Linq-to-SQL (or EF or whichever LINQ provider you use) probably doesn't
// support array indexers, so put your strings in variables beforehand
var medID = stVar[0];
var kalkID = stVar[1];
var query =
from kalk in kalks
where kalk.MedID.Equals(medID) //"---"
&& kalk.KalkID.Equals(kalkID) //"00057"
select new
{
MedID = kalk.MedID,
KalkID = kalk.KalkID,
Navn = kalk.Navn,
ValutaID = kalk.ValutaID,
Sprog = kalk.Sprog,
Dato = kalk.Dato,
SidstRettet = kalk.SidstRettet,
SidstRettetAf = kalk.SidstRettetAf,
Afrunding = kalk.Afrunding,
Kurs = kalk.Kurs,
id = kalk.id
};
foreach (var item in query)
{
MessageBox.Show(item.MedID + item.Navn);
}
MedID和KalkID是字符串类型吗?如果没有,请尝试kalk.MedID.ToString.equalstrvar[0]