LINQ-SQL: ExecuteQuery (Тип, Строка) заполняет одно поле, но не другой

Существует небольшая вспомогательная функция, которая сначала конвертирует необработанный HTML-код в блоки Гутенберга, а затем сериализует его в готовый для Гутенберга пост-контент.

Запрос сценария

function load_admin_resources_footer() {
    wp_enqueue_script( 'filter', get_template_directory_uri() . '/js/article-filter.js', array('jquery', 'wp-blocks', 'wp-edit-post'));
}
add_action('admin_footer', 'load_admin_resources_footer');

Преобразование в блоки

var editholdy_is_activate = false;
function convert_to_gutenberg(content, remove_spaces = false) { // "'wp-blocks', 'wp-edit-post'" - should be setted as current script dependecies

    // initiate all built-in gutenberg blocks
    if (!editholdy_is_activate) {
        $('<div />').attr('id', 'editholdy').attr('style', 'display: none').appendTo('body');
            wp.editPost.initializeEditor('editholdy');
            editholdy_is_activate = true;
    }

    var gutblock = wp.blocks.rawHandler({ 
        HTML:  content,
    });

    var serelized = wp.blocks.serialize(gutblock);
    serelized = (remove_spaces) ? serelized.replace(/(\n|\r)/g, '') : serelized;

    return serelized;

}
5
задан Rex M 2 May 2009 в 01:54
поделиться

2 ответа

Это безумно...

То, что решило мою проблему, украшало мой класс объекта TableAttribute:

[Table(Name = "foo_aggregates")]
public class FooCount
{
    [Column(Name = "foo_id")]
    public Int32 FooId { get; set; }

    [Column(Name = "count")]
    public Int32 Count { get; set; }
}

Я принял (неправильно, по-видимому) это, так как я не использовал GetTable<T>() метод, мне не был нужен соответствующий атрибут отображения.

Обновление: полтора года спустя это наконец рассветало на мне, кажется, что художественные оформления ColumnAttribute на свойствах проигнорированы, если нет соответствующее художественное оформление TableAttribute на классе. Это объясняет, почему свойство "Count" становилось заполненным, так как его именование будет соответствовать столбцу в SQL-операторе, тогда как FooId/foo_id, конечно, не соответствуют.

5
ответ дан 14 December 2019 в 09:01
поделиться

Linq К Sql нелегко отображать материал, когда названия свойств отличаются, чем названия столбцов. Попытайтесь менять свое имя свойства на foo_id с подчеркиванием. Это должно к приему.

Или это, или можно изменить избранный оператор на foo_id как FooId для соответствия свойству. Так или иначе они должны быть тем же (не должен быть тот же случай хотя).

2
ответ дан 14 December 2019 в 09:01
поделиться
Другие вопросы по тегам:

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