通过列表

时间:2017-04-10 08:07:59

标签: c# asp.net entity-framework

我试图从IQueryable中获取具有与另一个List中的对象相等的属性的对象。

查询是:

var notificationDataWithoutSettingsTypeTwo =
                    (from nd in notificationsData
                     join tnAc in taskAndNotificationAllCustomersModel on new { nd.TaskId, nd.NotificationType } equals new { tnAc.TaskId, tnAc.NotificationType }
                     select nd);

notificationData是IQueryable,taskAndNotificationAllCustomersModel是对象类型的列表:

public class TaskAndNotificationAllCustomersModel
{
    public Guid TaskId { get; set; }

    public NotificationTypes NotificationType { get; set; }
}

notificationData属于具有多个属性的类型,包括TaskId和NotificationType。

问题在于我得到了这个例外:

  

无法创建类型的常量值   ' TaskAndNotificationAllCustomersModel&#39 ;.只有原始类型或   在此上下文中支持枚举类型。

修改

在我将List taskAndNotificationAllCustomersModel作为IQueryable后,我收到此错误:

  

无法处理类型' .TaskAndNotificationAllCustomersModel []',   因为它没有已知的值到图层的映射。

编辑2:

尝试这样:

var notificationDataWithoutSettingsTypeTwo = notificationsData.Where(nd => taskAndNotificationAllCustomersModel.Any(tnac => tnac.TaskId == nd.TaskId && tnac.NotificationType == nd.NotificationType));

我仍然得到例外1。

0 个答案:

没有答案