Şu an aşağıdaki gibi bir yöntem kullanıyorum: db.GetProjectsAllowed(profileId, profOrgList, projectList)
. Bunu IDbSet<Project>
'u kullanmak için dönüştürmek istiyorum, ancak ikinci LINQ sorgusunu nasıl alacağımı bilmiyorum.Bu uzantı yöntemini, DbContext yerine IDbSet <> kullanmak için kullanabilir miyim?
public static IQueryable<Project> GetProjectsAllowed
(
this IMkpContext db,
Guid profileId,
List<Guid> profOrgIds = null,
List<Guid> projectIds = null
)
{
var projects =
(
from p in db.Project
.Include(p => p.Proposals)
.Include(p => p.RoleAssignments)
.Include("RoleAssignments.AssigneeSnapshot")
where p.IsActive
select p);
if (profOrgIds != null && profOrgIds.Any())
{
var profileIds = db.ProfileOrganization
.Where(po => po.IsActive && profOrgIds.Contains(po.OrganizationId))
.Select(po => po.ProfileId);
projects = projects.Where(p => profileIds.Contains(p.CreatedById));
}
if (projectIds != null && projectIds.Any())
projects = projects.Where(proj => projectIds.Contains(proj.ProjectId));
return projects;//.ToList();
}
Bu IDbSet<Project>
ya da değil kullanmak dönüştürebilir miyim?
yapabildin ama yapacağınız ProfileOrganizasyon p geçmek zorunda yönteme bir parametre olarak rocount. – user2697817