日期:2014-05-20  浏览次数:21090 次

类型“System.String[]”不支持比较运算符。

 return dc.Content.Where(c => c.Status == status && c.AuditList.Split(',').Contains(user.id.ToString()))

报错 类型“System.String[]”不支持比较运算符。 
换成
return (from c in dc.GetTable<Content>() let autlist = c.AuditList.Split(',') from temp in autlist where c.Status == status && temp ==user.id.ToString() select c)
依旧 求解。。

------解决方案--------------------
不要把Linq跟Linq2SQL或者Linq2EF这类Linq Provider for DBMS混淆了...Linq能做的它们未必能做...

很明显c.AuditList.Split(',').Contains方法太复杂了,无法翻译成SQL语句...用数据库的存储过程或用户自定义函数做...