Я использую метод пакетного обновления Entity Framework Z Plus. Я не могу продолжить из-за проблемы ниже. На самом деле метод обновления работает хорошо, когда я даю статические значения, такие как tagName="amir1"
. Но мне нужно получить Tagdescription
из веб-службы или из другой коллекции, основанной на tagId
, метод обновления не принимает метод расширения или любой другой метод для выполнения моего требования. Например,
"LINQ to Entities не распознает метод метода System.String GetTagDescription (Int32) ', и этот метод нельзя преобразовать в выражение хранилища.".
Надеюсь, мое требование теперь ясно. Пожалуйста, направьте меня, если есть другой подход к моему требованию.
Вот мой код:
using (var context = new TrialsDBEntities())
{
context.tblTags.Where(x => (tagIdCollection.Contains(x.tagId))).
Update(m => new tblTag { tagDescription = m.tagId.GetTagDescription(), tagName = "amir1" });
}
public static string GetTagDescription(this int i)
{
return "test" + i;
///Replace above line with call to database or web service call
getting some text by giving i as input
}