我有一个类,LanguageModeration。它包含多种语言的布尔值,显示它们是否已被审核。我已经实现了一个索引器,允许我通过一个名为Language的Enum进行选择。像这样:
public class LanguageModeration
{
public ModerationRecord EN {get;set;}
public ModerationRecord FR {get;set;}
}
public ModerationRecord this[Language l]
{
get
{
if (l == Language.English) return EN;
else return FR;
}
}
我想在NHibernate LINQ表达式中使用这种语法(或类似的东西),例如:
from m in _exampleLanguageModerationList where m[Language.English] == false select m
这不起作用,我明白了:
System.NotSupportedException: Dm.Mvc.Data.SiteObjects.ModerationRecord get_Item(Dm.Mvc.Data.Types.Language)
现在甚至可以用NHibernate LINQ做我想做的事情吗?
答案 0 :(得分:0)
您正在针对m[Language.English]
测试bool
。
由于您要返回EN或FR ..您的索引器的返回类型不应该是bool
吗?