我想合并,外部加入专栏" Count"从View_AssessmentCount列表到View_Assessment。当然Count会出错,因为它是 int 而且我写了String.Empty。我在这个部分指定了外部加入 null 列的位置" Count"。但是,我再也不知道谷歌的正确条款。请帮我解释一下。
public class AssessmentWithCount
{
public int Count { get; set; }
public String AssessmentName { get; set; }
public String AssessmentInitials { get; set; }
public Int16 id { get; set; }
}
public IEnumerable<AssessmentWithCount> GetAssessmentWithCount()
{
using (var context = new SQL_TA_SCOREBOARDEntities1())
{
var query = from a in context.View_Assessment
join b in context.View_AssessmentCount on a.AssessmentName equals b.AssessmentName into ab
from subA in ab.DefaultIfEmpty()
select new AssessmentWithCount
{
AssessmentName = a.AssessmentName,
Count = (subA == null ? String.Empty : subA.Count.ToString())
};
return query;
}
}
更新了帖子
现在我的错误是&#34; ObjectContext实例已被丢弃,不能再用于需要连接的操作。&#34;当我DataBind这个类。 :(
答案 0 :(得分:1)
不要将数据库字段转换为字符串 - 只需按原样使用它:
Count = (subA == null ? 0 : (subA.Count ?? 0))
关于错误消息... using
语句处理您的SQL_TA_SCOREBOARDEntities1
实例,因此您需要在离开方法之前立即获取数据:
return query.ToList();
答案 1 :(得分:0)
在这里试试这个:
Count = SubA.Count ?? 0
刚刚遇到过这样的问题并得到了帮助。 :) 对不起我无法发表评论,因为我的代表不到50人。