Я пишу этот вопрос как -преемник < /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 Исключение произошло при переходе на результаты запроса для контекста типа '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...*@
}
Код: Выделить всё
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
Код: Выделить всё
SELECT id, img FROM SomeTable
< /code>
Показывает, что использование герметичного модификатора для моего конкретного варианта использования не работает, как и ожидалось. Дизайн системы, к которому я стремился принести отдельные экземпляры для списка [b] простого текста [/b] и списка данных [b] File [/b]. Затем, на уровне приложения, я объединю эти записи в один список. Тем не менее, рендеринг асинхронно разделен для [b] простого текста [/b] и [b] файловых данных [/b], что делает более удобный пользовательский опыт .
Я использовал концепцию наследие , чтобы слияние двух классов, и я использовал меня, потому что я задумал меня, я использовал меня, я использовал меня, потому что я использовал меня, я использовал меня, я использовал, потому что я задумал меня, и я использовал, потому что я использовал меня, и я использовал, потому что я использовал меня, и я использовал меня, я использовал, потому что я задумал меня, чтобы я был навсегда разыскивается.SELECT st.id, st.name, sot.img {some_plain_text_here}
FROM SomeTable AS st
INNER JOIN SomeOtherTable AS sot ON sot.id = st.id
Мое веб-приложение Blazor работает гладко, но разделение проблем для em> 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> код. Моя цель состоит в том, чтобы правильно отобразить свойства при призыве асинхронно двух классов для простого текста и файловых данных . Первый текст < /em> будет выполнен сначала, затем файл изображения < /em> будет следить. Свойства?
Есть ли какие -либо другие существующие решения в C#/. Net 9? Front-end/Back-End код? Трудно работать вручную со многими слоями стека разработки строго (например, база данных, фронт-конец, задний, дизайн и т. Д.). Так что я надеюсь, вы, пожалуйста, понести меня.
Подробнее здесь: https://stackoverflow.com/questions/797 ... text-first
Мобильная версия