IQueryableの文字列変換に問題があります。IQueryableを文字列[]に変換するときにNotSupportedExceptionが発生する
public string[] GetRolesForUser(User user)
{
if (!UserExists(user))
throw new ArgumentException(MissingUser);
var qry = from x in entities.Roles
where x.Users.Contains(user)
select x.RoleName;
return qry.ToArray(); // At this point I've got a NotSupportedException
}
例外メッセージ:
タイプ 'SchoolMS.Models.Entities.User' の一定値を作成できません。このコンテキストでは、プリミティブ型( 'Int32、String、およびGuid'など)のみがサポートされています。
どうすれば解決できますか?正しい方法は何ですか?
(私はmvc3とEF 4.1を使用しています)
問題は 'x.Users.Contains()'にあると思います。 'x.Users == user'は動くでしょうか? –
私はそれを試みたが、私は同じ例外がある – mrtn