Sono bloccato da qualche parte sulla mia app ASP.NET MVC 3. qui è l'errore che sto ottenendo:Sono supportati solo gli inizializzatori, i membri dell'entità e le proprietà di navigazione dell'entità. (ASP.NET MVC ed Entity Framework)
Il membro tipo specificato 'AccommPropertyTags' non è supportato in LINQ to Entities. Sono supportati solo gli elementi di inizializzazione, i membri dell'entità e le proprietà di navigazione dell'entità .
ho trovato come possiamo risolvere questo il seguente articolo:
Only initializers, entity members, and entity navigation properties are supported
Ma il mio è un po po 'strano.
Ecco una delle classe parziale della mia entità:
[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; }
}
}
Come potete vedere sopra, AccommPropertyTags
proprietà è typeof ICollection<string>
. Quello che sto cercando dentro il mio controller è la seguente:
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);
}
A causa del fatto che sto usando Any
lì, Entity sta cercando di convertire la mia proprietà AccommPropertyTags
a SQL e non posso perché non è parte dello schema della tabella.
Sono davvero bloccato qui o c'è un modo interessante per battere questo fastidioso errore?