Ожидание исключения в запросе Linq2Sql, не получение его - PullRequest
0 голосов
/ 31 октября 2011

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 => parentId == dataParentId)имеет значение null или не существует?

При тестировании он отлично заполняет объект CustomField и просто оставляет значение null.Это то, что я хочу, я просто ожидал, что .Single () сгенерирует исключение, так как последовательность пуста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...