pyCairo является опцией, которая стоит посмотреть на.
Поместите точку останова в эту строку или отладите. В обоих случаях напечатайте перед ним и посмотрите, какой ID содержит.
А что здесь ID
? В частности, это локальная переменная? Есть некоторые проблемы с областью / захватом, которые означают, что может быть желательно использовать вторую копию переменной только для запроса:
var id = ID;
BlogPost post = (from p in dc.BlogPosts
where p.BlogPostID == id
select p).Single();
Также; если это LINQ-to-SQL, то в текущей версии вы получите немного лучшее поведение, если будете использовать форму:
var id = ID;
BlogPost post = dc.BlogPosts.Single(p => p.BlogPostID == id);