Как сделать левое внешнее соединение с таблицей linq и многими ко многим?

Когда я попытался сначала выполнить левое внешнее соединение с кодом MVC C#, я получил эту ошибку:

Неверный тип одного из выражений в предложении соединения. Ошибка вывода типа при вызове GroupJoin.

Мне нужна помощь, чтобы понять, почему предложение о соединении неверно. Вот код:

return (from t in context.Tenders
                    join c in context.Contacts on t.Contacts equals c.Tenders into leftOuter
                    from subpet in leftOuter.DefaultIfEmpty()
                    orderby t.id
                    where (c.Email == currentUserProfile.Email || c.UserProfileId == currentUserProfile.Id || t.UserProfileId == currentUserProfile.Id) && t.EndDate > now
                                         && t.IsClosed == false
                                         && t.IsCancel == false
                    select t).Union(
                    from t in context.Tenders
                    where t.EndDate > now
                    && t.IsClosed == false
                    && t.IsCancel == false
                    && t.PrivacyLevelId == 1
                    select t).Count();

Свободный API:

// Many to many Tender => Contact
        modelBuilder.Entity<Tender>()
            .HasMany(c => c.Contacts)
            .WithMany(t => t.Tenders)
            .Map(m => m.MapLeftKey("TenderId")
                 .MapRightKey("ContactId")
                 .ToTable("ContactTender"));

0 ответов

Другие вопросы по тегам