Привет, я являюсь Entity Framework newb, и я пытаюсь получить следующий код в одном запросе для отношения данных. Отношения являются одними для многих.LINQ to Entity Relationship
Код, который не работает:
var categories = db.DataModel.Categories
.Where(c => c.CategoryTypeID == getCategoryTypeID(selectedId));
int getCategoryTypeID(int selectedTypeId)
{
return db.DataModel.CategoryLinkTypes.Where(l => l.ID == selectedTypeId)
.FirstOrDefault().ToInt(0);
}
Я надеюсь, что вы можете увидеть, что я пытаюсь сделать. Когда я запускаю этот код, я получаю эту ошибку:
LINQ to Entities does not recognize the method 'Int32 getCategoryTypeID(Int32)' method, and this method cannot be translated into a store expression.
Может ли кто-нибудь показать мне правильный способ сделать это?
Я использую EF 4 + и C#
Рад, что это сработало для вас. Просто из любопытства, с которым вы столкнулись? –
Я использовал второй вариант только потому, что оказалось, что у меня было более одного объекта, с которым я имел дело в своих отношениях. Так что это была всего одна таблица к другой. Спасибо за вашу помощь! – Jared
Имеет смысл - первый вариант был фактически испорчен. Он вернул бы IEnumerable>. Я просто собираюсь удалить его для ясности. –