Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C LINQ到实体选择字符串混淆不支持异常_C#_Linq To Entities_Notsupportedexception - Fatal编程技术网

C# C LINQ到实体选择字符串混淆不支持异常

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

嗨,我有这个LINQ,在我的数据库中有一个行ind kalk表,MedID=--和KalkID=00057,如果我在所有工作中硬编码它们,但是如果我从字符串[]的stVar中获取它们,我会得到一个NotSupportedException:

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]