Вывести динамический sql в jinja2 [duplicate]

Добавление случая, когда имя класса для объекта, используемого в структуре сущности, такое же, как имя класса для файла с кодировкой веб-формы.

Предположим, у вас есть веб-форма Contact.aspx, чей класс codebehind Свяжитесь с вами, и у вас есть имя объекта Contact.

Затем следующий код вызовет исключение NullReferenceException при вызове context.SaveChanges ()

Contact contact = new Contact { Name = "Abhinav"};
var context = new DataContext();
context.Contacts.Add(contact);
context.SaveChanges(); // NullReferenceException at this line

Ради полноты класса DataContext

public class DataContext : DbContext 
{
    public DbSet Contacts {get; set;}
}

и класс сущности контакта. Иногда классы сущностей являются частичными классами, так что вы можете распространять их и в других файлах.

public partial class Contact 
{
    public string Name {get; set;}
}

Ошибка возникает, когда оба класса entity и codebehind находятся в одном и том же пространстве имен. Чтобы исправить это, переименуйте класс сущности или класс codebehind для Contact.aspx.

Причина. Я все еще не уверен в причине. Но всякий раз, когда какой-либо из классов сущностей расширяет System.Web.UI.Page, возникает эта ошибка.

Для обсуждения рассмотрим NullReferenceException в DbContext.saveChanges ()

5
задан Cheeso 17 March 2012 в 19:55
поделиться

2 ответа

cur.description - это атрибут только для чтения, содержащий 7 кортежей, которые выглядят следующим образом:

(name, 
type_code, 
display_size,
internal_size, 
precision, 
scale, 
null_ok)

Итак, для имен столбцов вы можете:

col_names = [i[0] for i in cur.description]

Ссылка: http://www.python.org/dev/peps/pep-0249/

14
ответ дан bernie 26 August 2018 в 03:59
поделиться

В коллекции объектов SQLrow есть свойство columnNames.

Итак,

for k in result.columnNames:
    print(k)
0
ответ дан Cheeso 26 August 2018 в 03:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: