Не равный список< gt; В entity framework
У меня есть 4 таблицы следующим образом
Таблица 1 место а
public class CustmLocationA { public int Location1_ID { get; set; } public string Location1 { get; set; } public string Location1_Descrip { get; set; } public bool IsActive { get; set; } }
Таблица 2 местоположение
public class CustmLocationB{ pubblic int Location2_ID { get; set; } public string Location2 { get; set; } public string Location2_Descrip { get; set; } public int Location1_ID { get; set; } public bool IsActive { get; set; } }
Таблица 3 Место С
public class CustmLocationC { public int Location3_ID { get; set; } public string Location3 { get; set; } public string Location3_Descrip { get; set; } public int Location2_ID { get; set; } public bool IsActive { get; set; } //Location B data public string Location2 { get; set; } [NotMapped] public bool LocBIsActive { get; set; } //location A data [NotMapped] public int Location1_ID { get; set; } [NotMapped] public string Location1 { get; set; } [NotMapped] public bool LocAIsActive { get; set; } [NotMapped] public string LocAandB { get; set; } }
Таблица 4
public class CustmContact { public int contactID { get; set; } public int Location3_ID { get; set; } public int UserID { get; set; } public bool Notify { get; set; } public bool Access { get; set; } [NotMapped] public string UserName { get; set; } [NotMapped] public string LocationAll { get; set; } }
Что я уже пробовал:
Я пытаюсь выбрать все папку C со связанными таблицами информации в месте a и B после того, что мне нужно выбрать некоторые рабочие места пользователей в таблице контактов (4-й стол) после этого мне нужно удалить все выбранные пользователем в таблице от выбранного места, но я обнаружил, что не может применяться к операндам типа int и список и Л;int> В этой линии (а.Location3_ID != (от Z в дБ.контакты где z.UserId == идентификатор пользователя выберите з.Location3_ID))
//Получить не выбранное местоположение по идентификатору пользователя
public List GetSelectedLocByUID (int UserID = 0) { var data = (from LocC in db.locationsC join LocB in db.locationsB on LocC.Location2_ID equals LocB.Location2_ID join LocA in db.locationsA on LocB.Location1_ID equals LocA.Location1_ID select new CustmLocationC { Location1_ID = LocA.Location1_ID, Location1 = LocA.Location1, LocAIsActive = LocA.IsActive, Location2_ID = LocB.Location2_ID, Location2 = LocB.Location2, LocBIsActive = LocB.IsActive, Location3_ID = LocC.Location3_ID, Location3 = LocC.Location3, Location3_Descrip = LocC.Location3_Descrip, LocAandB = LocA.Location1 + "-" + LocB.Location2, IsActive = LocC.IsActive }).Where(a => a.LocAIsActive == true && a.LocBIsActive == true && a.IsActive == true && a.Location3_ID != (from z in db.contacts where z.UserID == UserID select z.Location3_ID) ).OrderBy(a => a.Location1).ToList(); return (data); }