Ответ 1
var result = Contacts.Where(x => ...)
.Select(x => x.ContactID);
или
var result = from x in Contacts
where x.ContactTypeID == 2 && x.OrganizationName == "COMPANY XYZ"
select x.ContactID;
Следующее выражение возвращает контакт - весь контакт с десятками свойств. Это прекрасно, но, в идеале, я хотел бы, чтобы возврат был только идентификатором контакта (contact.contactId). Как это сделать?
var assocOrg = Contacts.Where(x => x.ContactTypeID == 2 && x.OrganizationName == "COMPANY XYZ");
var result = Contacts.Where(x => ...)
.Select(x => x.ContactID);
или
var result = from x in Contacts
where x.ContactTypeID == 2 && x.OrganizationName == "COMPANY XYZ"
select x.ContactID;
Если вы хотите получить один или первый объект, соответствующий вашим условиям, используйте это:
var result = Contacts.Where(x => ...)
.Select(x => x.ContactID).FirstOrDefault();
var assocOrg = Contacts.
Where(x => x.ContactTypeID == 2 && x.OrganizationName == "COMPANY XYZ").
Select(x => x.contactId);
var assocOrg = Contacts.Where(x => x.ContactTypeID == 2 && x.OrganizationName == "COMPANY XYZ").Select(x=> x.contactId).FirstOrDefault();
Это даст вам первый ContactId, и следующее вы получите список контактов ContactId
var assocOrg = Contacts.Where(x => x.ContactTypeID == 2 && x.OrganizationName == "COMPANY XYZ").Select(x=> x.contactId);
В стиле Sql, который будет
var assocOrg = from contact in Contacts
where contact.ContactTypeId == 2 && contact.OrganizationName == "COMPANY XYZ"
select contact.ContactId;
var result = Contacts.Where(x => ...)
.Select(x => x.ContactID).FirstOrDefault();