C#中的以下LINQ语句(一个简单的外连接)抛出一个异常的异常:
var query =
from cs in db.scan
join cp in db.patient on cc.pid equals cp.pid into cpGroup
from cp2 in cpGroup.DefaultIfEmpty()
select new
{
Name = ((cp2 == null) ?
String.Empty :
cp2.plastname + ", " + cp2.pfirstname),
DOB = ((cp2 == null) ?
DateTime.MinValue :
cp2.pdateofbirth)
};
例外:
Auf die变量“cp2”vom Typ“Core.patient”wird vom Bereich“”verwiesen,sie ist jedoch nicht definiert。
翻译:
“Core.patient”类型的变量“cp2”由区域“”引用,但未定义。
这里有什么问题?顺便说一句。周围的try catch块无法捕获此错误...
答案 0 :(得分:-1)
加入可能存在问题。这是完成同样事情的方法。
var query =
from cs in db.scan
from cp in db.patient
where cs.pid == cp.pid
select new
{
Name = cp.plastname + ", " + cp.pfirstname),
DOB = cs.pdateofbirth
};