我试图从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。