У меня есть объект Property с этими свойствами
public class Property : FullAuditedEntity, IMustHaveTenant, IMustHaveAddresses<PropertyAddress>
{
[Required]
public virtual Status Status { get; set; }
public virtual string PhoneNumber { get; set; }
public virtual int TenantId { get; set; }
public virtual int? AgentId { get; set; }
public virtual long? AccountManagerId { get; set; }
public virtual int PropertyTitleId { get; set; }
public virtual int BuildingTypeId { get; set; }
public virtual int? LandlordId { get; set; }
public virtual int PropertyTypeId { get; set; }
public string Attachments { get; set; }
public virtual int? PortfolioId { get; set; }
[ForeignKey("LandlordId")]
public virtual Landlord Landlord { get; set; }
[ForeignKey("AccountManagerId")]
public virtual User User { get; set; }
[ForeignKey("AgentId")]
public virtual Agent Agent { get; set; }
[ForeignKey("PropertyTitleId")]
public virtual PropertyTitle PropertyTitle { get; set; }
[ForeignKey("BuildingTypeId")]
public virtual BuildingType BuildingType { get; set; }
[ForeignKey("PropertyTypeId")]
public virtual PropertyType PropertyType { get; set; }
[ForeignKey("PortfolioId")]
public virtual LandlordPropertyPortfolio PropertyPortfolio { get; set; }
public virtual ICollection<PropertyAddress> Addresses { get; set; }
public virtual ICollection<PropertyAsset> PropertyAssets { get; set; }
public virtual ICollection<Site> Sites { get; set; }
public virtual ICollection<Tenancy> Tenancies { get; set; }
public ICollection<Utility> Utilities { get; set; }
public ICollection<Quote> Quotes { get; set; }
}
Он имеет коллекцию Tenancies
Вот объект Tenancy
public class Tenancy : FullAuditedEntity, IMustHaveTenant
{
public DateTime? TenancyStartDate { get; set; }
public DateTime? TenancyEndDate { get; set; }
public DateTime? RenewalDate { get; set; }
public DateTime? ContractEndDate { get; set; }
public DateTime? ReminderNotificationDate { get; set; }
public ContractTermTimeUnit ContractTermTimeUnit { get; set; }
public int ContractTermLength { get; set; }
public TenancyStatus Status { get; set; }
public int PropertyTenantId { get; set; }
public int PropertyId { get; set; }
public int ContractTypeId { get; set; }
public int TenantId { get; set; }
[ForeignKey("ContractTypeId")]
public ContractType ContractType { get; set; }
[ForeignKey("PropertyId")]
public Property Property { get; set; }
[ForeignKey("PropertyTenantId")]
public PropertyTenant PropertyTenant { get; set; }
}
Tenancy, подключенный к PropertyTenant через ForeignKey
Вот сущность PropertyTenant
public class PropertyTenant: FullAuditedEntity, IMustHaveTenant
{
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
public virtual string PhoneNumber { get; set; }
public virtual string MobileNumber { get; set; }
public virtual string Email { get; set; }
public virtual string LinkedinUrl { get; set; }
public virtual string FacebookUrl { get; set; }
public virtual string TwitterUrl { get; set; }
public virtual bool IsPhonePreferred { get; set; }
public virtual bool IsMobilePreferred { get; set; }
public virtual bool IsEmailPreferred { get; set; }
public virtual Status Status { get; set; }
public virtual int TenantId { get; set; }
public string IdentifierString { get; set; }
public virtual ICollection<Tenancies.Tenancy> Tenancies { get; set; }
public virtual ICollection<Quote> Quotes { get; set; }
}
Мне нужно получить все свойства, передавая метод PropertyTenantId
Вот код метода, который я пытался сделать
public async Task<ListResultDto<DropdownOptionDto>> GetPropertySuggestions(string address, int? customerType,
int? customerId)
{
IQueryable<Property> query = null;
if (customerType == 3)
{
query = _propertyRepository.GetAll().WhereIf(!address.IsNullOrWhiteSpace(),
p => p.Addresses.First().Line1.StartsWith(address.Trim(), StringComparison.OrdinalIgnoreCase) &&
p.AgentId == customerId);
}
if (customerType == 1)
{
query = _propertyRepository.GetAll().WhereIf(!address.IsNullOrWhiteSpace(),
p => p.Addresses.First().Line1.StartsWith(address.Trim(), StringComparison.OrdinalIgnoreCase) &&
p.LandlordId == customerId);
}
if (customerType == 2)
{
query = _propertyRepository.GetAll().WhereIf(!address.IsNullOrWhiteSpace(),
p => p.Addresses.First().Line1.StartsWith(address.Trim(), StringComparison.OrdinalIgnoreCase) &&
p.Tenancies.Where(i => i.PropertyTenantId == customerId));
}
I тип клиента = 2 Я не могу получить свойства из-за
PropertyAppService.cs (186, 26): [CS0019] Оператор '&&' нельзя применить к операндам типа 'bool 'и' IEnumerable '
Как мне получить все свойства через PropertyTenantId?