Я застрял где-то в моем приложении ASP.NET MVC 3. вот ошибка, которую я получаю:
Указанный член типа 'AccommodationmPropertyTags' не поддерживается в
LINQ to Entities. Только инициализаторы, члены сущности и сущности
свойства навигации поддерживаются.
Я нашел, как мы можем решить эту проблему в следующей статье:
Поддерживаются только инициализаторы, элементы сущностей и свойства навигации сущностей
Но мой немного странный.
Вот один из частичных классов моей сущности:
[MetadataType(typeof(AccommPropertyWebDetail.MetaData))]
public partial class AccommPropertyWebDetail {
public virtual ICollection<string> AccommPropertyTags {
get {
return Helpers.AccommPropertyTag.CreateStringListFromString(this.PropertyTags);
}
}
private class MetaData {
[Required, StringLength(50)]
public string Category { get; set; }
}
}
Как вы можете видеть выше, свойство AccommPropertyTags
имеет тип ICollection<string>
. Внутри моего контроллера я пытаюсь сделать следующее:
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 и не может, потому что оно не является частью схемы таблицы.
Я действительно застрял здесь или есть крутой способ справиться с этой досадной ошибкой?