我有这个模型(模型更多,但现在并不重要)
我有一些注释,我想让所有用户如何使用这些注释,但我得到了这个例外("无法创建类型' DataBase.Annotation'的常量值。 在此上下文中仅支持原始类型或枚举类型。"),使用下一个代码时
TextCorporaEntities TextCorporaContext = new TextCorporaEntities();
List<DataBase.Annotation> annotations = //annotations which I used
//I get the exception here
var UserAnnotationsResult = TextCorporaContext.Annotation_User.
Where(x => annotations.
Contains(x.Annotation));
我可以使用此代码,但效率不高
List<Annotation_User> listResult = new List<Annotation_User>();
foreach (var x in annotations)
{
listResult.Concat(TextCorporaContext.Annotation_User.Where(y=>y.AnnotationId == x.Id));
}
如何获取使用某些注释的所有用户? 如何让所有使用AccessType等于ReadOrWrite的注释的用户(在模型中保存为字符串)?
答案 0 :(得分:3)
您只能使用包含原语
我认为这应该有用
var annotationsIds = annotations.Select(a => a.AnnotationId)
var UserAnnotationsResult = TextCorporaContext.Annotation_User.
Where(x => annotationsIds.
Contains(x.Annotation.AnnotationId));