我试图比较两个ID并得到一些结果。它适用于其他字符串。但不是为此。 我试过这样的。
var neededData = mainFaires.Where(c => c.trimacid == passId );
在这里passId= OX20160330HAVHAV
并在mainFaires
列表中,它包含此id
。但它没有给出结果。我在这里找到了
var x = mainFaires.ElementAt(27261);
此列表包含相同的id
。但没有给出结果。我想不出原因。
答案 0 :(得分:0)
ElementAt找到了位置。
您应该使用select来查找记录
CREATE OR REPLACE FUNCTION genIds() RETURNS integer AS $$
DECLARE
edge RECORD;
i INTEGER := 0;
BEGIN
FOR edge IN SELECT * FROM network LOOP
UPDATE network SET id = i WHERE id = edge.id;
i := i + 1;
END LOOP;
RETURN i;
END;
$$ LANGUAGE plpgsql;
答案 1 :(得分:0)
您应该使用.ToList()
.First()
或.FirstOrDefault()
来实际提交查询并获得结果。您的代码仅定义了查询,但实际上并未将其提交给数据集。
如果您只期望一个项目,那么您的代码应如下所示:
var neededData = mainFaires.Where(c => c.trimacid == passId ).FirstOrDefault();
如果找不到任何项目,则requiredData将为NULL或默认值为。您也可以在此处查看文档https://msdn.microsoft.com/en-us/library/system.linq.enumerable%28v=vs.100%29.aspx