2010-12-02 2 views
2

Возможно, действительно простой вопрос, но я новичок в IronPython. Я хотел бы использовать IronPython для обхода объекта, который я передаю ему, но когда я пытаюсь использовать любые методы расширения, он как бы ожидаемый, взрывается. Как мне проходить через POCOs в IronPython?IronPython и Entity Framework

delegate bool EvaluateRule(MyEntity entity); 
//Keep in mind this is just to test, no actual value provided 
string expression = @"entity.Flags.FirstOrDefault() == null"; 
MyEntity entity = new MyEntity(); 
PythonEngine engine = new PythonEngine(); 
EvaluateRule rule = engine.CreateLambda<EvaluateRule>(expression); 
bool result = rule.Invoke(entity); 

я получаю следующее: 'EntityCollection [MyEntity]' объект не имеет атрибута 'FirstOrDefault'

Заранее спасибо!

+0

«это, как-то ожидается, взрывает»? Что это значит? 1) предоставить наименьший фрагмент кода, который показывает ошибку. 2) предоставить ошибку. Наш ESP не так уж хорош. Мы не можем догадаться, что вы сделали или что означает «взрывается». – 2010-12-02 18:54:29

+0

Извините, @ S.Lott, пытался быть двусмысленным, поскольку я надеялся на идеи без моей реализации. – Benny 2010-12-02 19:14:38

ответ

3

Вы можете вызвать методы расширения как обычные статические методы:

string expression = @"Enumerable.FirstOrDefault(entity.Flags) == null";