期待Linq2Sql查询中的异常,没有得到它

时间:2011-10-31 15:52:53

标签: c# .net linq-to-sql

enter image description here

我有两个表之间的上述关系。我写了下面编译的查询:

internal static readonly Func<DataClasses1DataContext, int, CRMDataType, int, IEnumerable<CustomField>> GetCRMCustomFields = CompiledQuery.
               Compile<DataClasses1DataContext, int, CRMDataType, int, IEnumerable<CustomField>>
               ((context, parentId, parentType, dataParentId) => context.tblCRMCustomFields.Where(f =>f.ParentType == (int)parentType)
               .Select(f => new CustomField(parentId, parentType, f.CreationDate) { Description = f.Description, Value = f.tblCRMCustomFieldsDatas.Single(d=>parentId == dataParentId).StringValue
                   ,Id = f.Id }));

在查询中,我首先查询tblCRMCustomField表以创建自定义对象(CustomField)。在CustomField对象的查询/填充期间,我使用另一个设置其值 查询tblCRMCustomFieldsData:

Value = f.tblCRMCustomFieldsDatas.Single(d=>parentId == dataParentId).StringValue

如果f.tblCRMCustomFieldsDatas.Single(d =&gt; parentId == dataParentId)为空或不存在,则不会抛出异常吗?

在测试中,它会很好地填充CustomField对象,并且只保留Value null。这就是我想要的,我只是期望.Single()抛出异常,因为sqce是空的。

0 个答案:

没有答案