0
У меня есть этот сценарийЭквивалент 'WHERE имя_столбца IN' синтаксис SQL в Entity Framework
public class TimeSheet
{
[Key]
public int TimeSheetID { get; set; }
public string Username { get; set; }
}
public class Approval
{
[Key]
public int ApprovalID { get; set; }
[Index(IsUnique = true)]
[StringLength(450)]
public string Approver { get; set; }
public virtual ICollection<ApprovalDetail> Details { get; set; }
}
public class ApprovalDetail
{
[Key]
public int ApprovalDetailID { get; set; }
[StringLength(450)]
public string Username { get; set; }
}
Я хочу следующий синтаксис в EF.
SELECT
*
FROM
TimeSheet
WHERE
UserName IN (SELECT
[AD].Username
FROM
Approval [A]
INNER JOIN
ApprovalDetail [AD] ON [A].ApprovalID = [AD].ApprovalID
WHERE
[A].Approver = 'warheat1990')
Как достичь этого?
UPDATE:
Мои Репо
public IEnumerable<TimeSheet> List()
{
return _timeSheet.AsEnumerable().ToList();
}
public IEnumerable<TimeSheet> ListByUsername(string username)
{
return _timeSheet.Where(w => w.Username == username).ToList();
}
в linq мы можем сделать как -> x.UserName.Contains(), может быть, структура сущности тоже есть – jackjop
Каков ваш DBC-текст в EF? Можете ли вы также опубликовать свой код, где хотите это сделать, я предполагаю, что ваш класс «Утверждение» уже заполнен и т. Д.? –
@JamieRees: проверьте обновленное сообщение – warheat1990