Я застрял где-то на моем приложении ASP.NET MVC 3. вот ошибка, которую я получаю :
Указанный член типа 'AccommPropertyTags' не поддерживается в LINQ to Entities. LINQ to Entities. Поддерживаются только инициализаторы, члены сущности и поддерживаются только инициализаторы, члены сущности и навигационные свойства сущности.
Я нашел, как это можно решить в следующей статье:
Поддерживаются только инициализаторы, члены сущности и навигационные свойства сущности
Но мой вариант немного странный.
Вот один из частичных классов моей сущности :
[MetadataType(typeof(AccommPropertyWebDetail.MetaData))]
public partial class AccommPropertyWebDetail {
public virtual ICollection AccommPropertyTags {
get {
return Helpers.AccommPropertyTag.CreateStringListFromString(this.PropertyTags);
}
}
private class MetaData {
[Required, StringLength(50)]
public string Category { get; set; }
}
}
Как вы можете видеть выше, AccommPropertyTags
свойство является typeof ICollection
. То, что я пытаюсь сделать внутри моего контроллера, выглядит следующим образом:
public ViewResult Tag(string tag) {
var _rawTag = HttpUtility.UrlDecode(tag);
ViewBag.Tag = _rawTag;
var model = _accommpropertyrepo.GetAllAccommPropertiesFullWebIgnoringApprovalStatus();
model = model.Where(
x => x.AccommPropertyTags.Any(
y => y == _rawTag
)
);
return View(model);
}
Из-за того, что я использую Any
, Entity пытается преобразовать мое свойство AccommPropertyTags
в SQL и не может, потому что оно не является частью схемы таблицы.
Я действительно застрял здесь или есть способ победить эту раздражающую ошибку?