What is the prefered way for persisting user settings for WPF applications with .Net Core >=3.0?
Created WPF .Net Core 3.0 Project (VS2019 V16.3.1) Now I have seen there is no Properties.Settings section anymore.
After online search, started to dive into Microsoft.Extensions.Configuration.
Beside the bloated code to access the settings, now even worse -> No save?
User Configuration Settings in .NET Core
幸运的是,Microsoft.Extensions.Configuration不支持按设计保存。阅读此Github问题中的更多内容为什么ConfigurationProvider中没有保存?
对于.Net Core> = 3.0的WPF应用程序,要保留用户设置的首选(便捷/快速/简单)方式是什么?
之前<= .Net 4.8
一样简单:
使用 VS2019Prof V16.3.1 创建了非常简单的 WPF .Net Core 应用程序。
启动应用程序时没有任何反应。... 尝试使用 SysInternals ProcessExplorer 观察任何内容,它启动并立即停止。没有崩溃消息,......没有......
我还能做些什么来缩小它不启动的原因?
连接两个表导致选择时间从330秒增加到40秒.要加入的表仅包含ID和文本.加入两张桌子时,我没想到选择时间会增加8倍.我的JOIN有什么问题,或者这是正常的SQL Server行为吗?
主表填充了3500万条记录,以查看在达到10 GB的SQL Server Express限制时它的执行情况.在字段LogTimeStamp和字段LogType上创建了另一个索引.
连接表的内容:
var queryList = messages
.Join(types,
type => type.LogType,
typeText => typeText.LogType, (msg, msgType) => new
{
msg.LogID,
msg.LogTimeStamp,
msg.LogUser,
msg.LogType,
msgType.LogTypeName,
msg.LogMessage
})
.Where(t => System.Data.Entity.DbFunctions.TruncateTime(t.LogTimeStamp) >= fromDate)
.Where(t => System.Data.Entity.DbFunctions.TruncateTime(t.LogTimeStamp) <= toDate)
.Where(t => t.LogType != 4)
.OrderBy(m => m.LogID)
.ToList();
Run Code Online (Sandbox Code Playgroud)
结果SQL
SELECT
1 AS [C1],
[Extent1].[LogID] AS [LogID],
[Extent1].[LogTimeStamp] AS [LogTimeStamp],
[Extent1].[LogUser] AS [LogUser],
[Extent1].[LogType] AS [LogType],
[Extent2].[LogTypeName] AS [LogTypeName],
[Extent1].[LogMessage] AS [LogMessage]
FROM [dbo].[AuditTrailMessages] AS [Extent1]
INNER JOIN [dbo].[AuditTrailLogTypes] AS …
Run Code Online (Sandbox Code Playgroud)