Kei*_*ows 4 .net c# entity-framework
当期待记录集(> = 1记录)时,如何检查该0记录情况?
例如:
RivWorks.Model.FeedStoreReadOnly store = new RivWorks.Model.FeedStoreReadOnly(AppSettings.FeedAutosEntities_connString, AppSettings.FeedAutosEntities_metadata, AppSettings.FeedAutosEntities_providerName);
RivWorks.Model.NegotiationAutos.Entities _dbFeed = store.ReadOnlyEntities();
var companyDetails = from a in _dbFeed.ClientClientMap where a.CompanyID == CompanyId select a;
return companyDetails.ToList();
当它返回时,它在ToList()上出错,因为没有满足WHERE子句的记录.那么,检查0条记录的正确方法是什么,以及那时推荐的回报是什么?
根据以下答案添加:
if (companyDetails.Count() > 0)
    return companyDetails.ToList();
else
{
    List<RivWorks.Model.NegotiationAutos.ClientClientMap> ret = new List<RivWorks.Model.NegotiationAutos.ClientClientMap>();
    ret.Add(companyDetails.FirstOrDefault());
    return ret;
}
尚未测试,但(逻辑上)似乎有效.想知道是否有更简单的方法.
注意:
我明白了.DB运行的SQL帐户未被DBA授予正确的权限集.我们更改了新表/视图上的所有GRANT语句,现在它正在运行.
我仍然不确定正确答案是什么.我倾向于创建一个空白(新)记录并添加到列表中,以便我们收到列表的人有东西可以显示(如果没有别的话可以编辑)...
在打电话之前,您无需检查是否为空ToList.ToList适用于没有返回记录的查询; 它只会返回一个空列表.您可以使用原始代码,一切都可以正常工作,无论是否包含数据.
大多数网格等也可以处理空列表; 它们通常会显示一个空行,供用户创建第一条记录.
| 归档时间: | 
 | 
| 查看次数: | 5046 次 | 
| 最近记录: |