Организуйте картирование свойств класса, чтобы сначала составить список простого текста и встроить соответствующее изобрC#

Место общения программистов C#
Ответить
Anonymous
 Организуйте картирование свойств класса, чтобы сначала составить список простого текста и встроить соответствующее изобр

Сообщение Anonymous »

Отказ от ответственности: я не могу изменить некоторые оригинальные контенты, потому что я должен избегать этого, чтобы не признавать ответ Charlieface. /> system.invalidoperationException: требуемый столбец «IMG» не присутствовал в результатах операции «FormSQL». />
Я пишу этот вопрос как -преемник < /strong> в этом вопросе: < /p>
  • Как я могу сначала отобразить текст перед изображением в Blazor? />

    Код: Выделить всё

    [Browsable(false)]
    [Bindable(false)]
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
    [EditorBrowsable(EditorBrowsableState.Never)]
    [Column("img")]
    public byte[]? Img { get; set; }
    < /code>
     Примечание (на момент написания этой статьи): Последнее действие потока-31 октября 2019 года, в 14:52. /> 
     версия < /th>
     Дата выпуска исходного выпуска < /th>
    < /tr>
    < /thead>
    
    
    .net 9 < /td>
     12 ноября, 2024 < /td>
                       < /table> < /div>
    Источник: .net и .net Core Lifecycle, каковы правильные номера версий для C#?, Что нового в C# 13. < /p>
    
    Я искал способ  < /strong>. Класс .
    При чтении этой статьи: наследование - выводит типы для создания более специализированного поведения. Я обнаружил, что есть концепция под названием: предотвращение дальнейшего вывода, которую я цитирую: < /p>
    
    Класс может помешать другим классам от его наследства или от любого из его членов, объявив себя или члена как герметичный. < /P>
    < /blockquote>
    в дополнение, в соответствии с герметичным (C#. /> 
    Вы также можете использовать модификатор запечатаного < /code> на методе или свойстве, который переопределяет виртуальный метод или свойство в базовом классе. Это позволяет вам позволить классам выходить из вашего класса и не допустить их переоценки конкретных виртуальных методов или свойств. Вот мой фрагмент кода: < /p>
    [Keyless]
    public class PlainTextList : ImgList
    {
    // other properties here...
    
    [Column("name")]
    public string? Name { get; set; }
    
    [Column("img")]
    sealed protected override byte[]? Img { get; set; }
    }
    
    [Keyless]
    public class ImgList
    {
    [Column("id")]
    public string? ID { get; set; }
    
    [Column("img")]
    protected virtual byte[]? Img { get; set; }
    }
    < /code>
    Наследство класса работает, но на моем коде первого кода на странице бритвы я сталкиваюсь с исключением: < /p>
    
    'plaintext.img 'incescessible из-за уровня защиты (CS0122) < /p>
    
    на public 
    вместо этого. Приведенная выше ошибка разрешена, но если я запускаю программу, я получаю ошибку: < /p>

    Исключение произошло при переходе на результаты запроса для контекста типа 'myproject.data.sqlserver.sqlserverconconceptontext'. 'Outsql' Operation. < /P>
    < /blockquote>

    Это мой фрагмент кода моего глобального помощника: < /p>

    Код: Выделить всё

    public async Task PTListFromSqlAsyncList(string spName, Dictionary parameters)
    {
    var paramDefs = SQLServerInnerHelper.GlobalWithoutOutputParams();
    
    SqlParameter[]? sqlParameter = MinimalDbSettings.SPArrayOfTuplesAndDictPreScale(paramDefs, parameters);
    
    var sqlParam = MinimalDbSettings.SQLParamLessDynamic(spName, sqlParameter);
    
    return await _context.PlainTextList
    .FromSql(sqlParam)
    .ToListAsync();
    }
    
    public async Task
    
    
    @a.Name
    @*Other data here...*@
    
    }
    
    
    
    Image @SortIcon("Img")
    
    Name @SortIcon("Name")
    
    @*Other header here...*@
    
    
    
    
    }
    
    Как вы можете видеть в приведенном выше коде клиента, я ошибался в моем @foreach (var a in sordprodlist!) , что заставляет программу отображать данные plaine и файл изображения в одно и то же время. У меня нет четкого представления о том, как управлять этой частью. Тем не менее, я думал о внедрении списка данных изображения асинхронно на основе его id [/b], чтобы точно связать файл изображения со списком, к которому он принадлежит, так что plaine Text будет выполнен первым, и изображение будет следить. ptlist и imglist переменные заполняются этими методами:

    Код: Выделить всё

    private async Task LoadPlainTexts()
    {
    var sQLServerHelper = new SQLServerHelper(context);
    pTList = null; // ensure spinner shows
    StateHasChanged(); // force re-render to show spinner
    var spParam = SQLServerInnerHelper.SomeGlobalMethodRazorPageParam(key: "PLAINTEXT_LIST");
    pTList = await sQLServerHelper.PTListFromSqlAsyncList("testSP", spParam);
    pagination.TotalRecords = pTList.Count;
    
    if (pTList is null)
    {
    NavigationManager.NavigateTo("notfound");
    }
    StateHasChanged();
    }
    
    private async Task LoadImages()
    {
    var sQLServerHelper = new SQLServerHelper(context);
    imgList = null; // ensure spinner shows
    StateHasChanged(); // force re-render to show spinner
    var spParam = SQLServerInnerHelper.SomeGlobalMethodRazorPageParam(key: "IMG_LIST");
    imgList = await sQLServerHelper.ImgListFromSqlAsyncList("testSP", spParam);
    
    if (imgList is null)
    {
    NavigationManager.NavigateTo("notfound");
    }
    StateHasChanged();
    }
    < /code>
    
    В моем SP у меня есть две отдельные функции для списка простого текста и список данных файла.  Вот мой упрощенный скрипт: < /p>
     funtext_list function < /h4>
    SELECT id, name, {some_plain_text_here} FROM SomeTable
    
    Примечание: {some_plain_text_here} , чтобы сократить скрипт.

    Код: Выделить всё

    SELECT id, img FROM SomeTable
    < /code>
    
    Показывает, что использование герметичного модификатора для моего конкретного варианта использования не работает, как и ожидалось. Дизайн системы, к которому я стремился принести отдельные экземпляры для списка [b] простого текста [/b] и списка данных [b] File [/b]. Затем, на уровне приложения, я объединю эти записи в один список. Тем не менее, рендеринг  асинхронно  разделен для [b] простого текста [/b] и [b] файловых данных [/b], что делает более удобный пользовательский опыт .
    Я использовал концепцию  наследие , чтобы слияние двух классов, и я использовал меня, потому что я задумал меня, я использовал меня, я использовал меня, потому что я использовал меня, я использовал меня, я использовал, потому что я задумал меня, и я использовал, потому что я использовал меня, и я использовал, потому что я использовал меня, и я использовал меня, я использовал, потому что я задумал меня, чтобы я был навсегда Разыскивается. Я также думал, что могу беспрепятственно распространить поля по соответствующим компонентам асинхронно. Сначала это составило бы список простого текста, затем список изображений, который на самом деле был бы одним списком. Тем не менее, я ошибался с этой концепцией. < /P>
    
    Удивительно, если я помесчу свойство IMG в функцию plantext_list < /code>, он работает, как и ожидалось (без исключений, я имею в виду): < /p>
    < /p>
     emnedendered eM> emneNenderyed-em-em-em-em-em-em-em-em-em-em-em-em-em-em-em-em-em. правильно. Другими словами, данные  Plain Text  и  файл  отображаются одновременно, или простой текст   все еще связан с классом модели файла. 
    Я был удивлен, потому что я думал, что картирование в EF Core разделяет  plain Text  и  файлы , которые предоставляются данные, предоставленные DEF, которые предоставлены DEF, которые предоставляются DEF, которые предоставляются DEF. Как вы можете видеть в моем глобальном помощнике, классы  base  и , полученные , указаны отдельно и основаны на соответствующем типе класса. Потому что я только сейчас осознал вмешательство @foreach (var a in sordprodlist!) < /Code> код. Моя цель состоит в том, чтобы правильно отобразить свойства при призыве [b] асинхронно [/b] двух классов для [b] простого текста [/b] и [b] файловых данных [/b]. Первый текст  plain Text < /em> будет выполнен, затем будет следовать файл изображения  < /em>, и на самом деле это один список.  классы  свойства? 
    
    [*]  Есть ли какие -либо другие существующие решения в C#/. Net 9 для обработки визуализации списка на компоненте Blazor Web? Свойства класса  при сопоставлении в EF Core, затем вызовите эти пропущенные свойства позже на коде фронта/заднего коэффициента? 
    
    [/list] 
    
    Подробнее здесь: [url]https://stackoverflow.com/questions/79754132/organize-the-mapping-of-class-properties-to-render-the-list-of-plain-text-first[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»