在一段 ef 查詢中:c#
var query = db.Users.AsQueryable(); query = query.Where(o => !ignoreUsers.Contains(o)); // 這裏用了 !Contains 來實現 not in var list = query.ToList();
出現以下異常:code
沒法建立類型 Models.User 的常量值。此上下文僅支持基元類型或枚舉類型。
是在查詢中使用了複雜類型作in/ not in
致使的.class
把Contains
中的複雜類型,簡化爲簡單類型再操做,好比:把User
改成UserId
.List
var query = db.Users.AsQueryable(); query = query.Where(o => !ignoreUserIds.Contains(o => o.UserId)); // 這裏用了 !Contains 來實現 not in var list = query.ToList();