LINQ to SQL添加CASE语句,然后原始字段NOT FOUND
本文关键字:原始 然后 字段 NOT FOUND 语句 to SQL 添加 CASE LINQ | 更新日期: 2023-09-27 18:26:24
这是我最初的LINQ,非常简单。
var participant = (from p in context.Participants
select p);
在我添加案例陈述之前效果良好。
var participant = (from p in context.Participants
select new
{
p,
Eligibility =
(
p.IsEligible == 1 ? "Eligible" :
p.IsEligible == 0 ? "Ineligible" : "Pending"
)
});
在GridView DataBind()方法上,它抛出异常said pID(在参与者表中)未找到。我在调试模式下检查SQL命令文本,它确实有Participant对象。请帮忙!
这是因为您的查询不再返回Participant
的实例:它返回具有两个成员(p
和Eligibility
)的匿名类的实例;匿名类的成员中没有pId
,因此出现了您看到的错误。
我会尝试绑定到p.pId
,或者更好的是,给p
一个更有意义的名称,比如Participant
,如下所示:
select new {
Participant = p,
Eligibility = ... // and so on
}
这样你的装订就更易读了。
您创建了一个由两个成员组成的匿名对象;"p"(参与者)和"资格"(字符串)。
如果。绑定可以处理嵌套绑定,然后绑定到"p.Id"等。更好的方法是:为您想要的成员创建一个视图模型。