我在 VS2019 的开发人员 PowerShell 中使用 EF Core 工具时出现奇怪的行为。
使用此命令创建迁移后:
dotnet ef migrations add VisibleLink -p .\src\Only.Portal.Data\ -s .\src\Only.Portal.Web
Run Code Online (Sandbox Code Playgroud)
它导致启动我的应用程序,但以前没有。应用最后迁移的方法,这会导致dotnet ef migrations remove完全损坏,因为使用它时,它首先启动一个应用程序,然后调用`Migrate()。
然后我收到一条消息:
迁移“20220128090939_VisibleLink”已应用于数据库。恢复并重试。如果迁移已应用于其他数据库,请考虑使用新的迁移来恢复其更改
看起来像是死循环。
c# entity-framework-core entity-framework-migrations ef-core-6.0
我的 JsonConvert 反序列化器有问题。我有课
[BsonCollection("matches")]
public class MatchData : Document
{
[JsonPropertyName("id")]
public string ExternalMatchId { get; set; }
...
}
Run Code Online (Sandbox Code Playgroud)
在我的控制器中,我尝试以这种方式反序列化:
[HttpPost("end")]
public ActionResult RoundEnd([FromBody] dynamic data)
{
var saveData = JsonConvert.DeserializeObject<MatchData>(data.ToString());
...
}
Run Code Online (Sandbox Code Playgroud)
输入 JSON 看起来像
"{"id": "61696f268c7b70b5f3e85803",
"game_server_id": "615ed4a1cd95e8209a4ab67d",
...
Run Code Online (Sandbox Code Playgroud)
但在我的输出MatchData对象中ExternalMatchId为空。如何解决这个问题?
我有一个对象列表
List<StatisticsData>
public class StatisticsData
{
public Guid Id { get; set; }
public string Name { get; set; }
public DateTime EndTime { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
示例值:
22-02-2020 | StatisticsData
21-02-2020 | StatisticsData
20-02-2020 | StatisticsData
19-02-2020 | StatisticsData
19-02-2020 | StatisticsData
18-02-2020 | StatisticsData
17-02-2020 | StatisticsData
16-02-2020 | StatisticsData
15-02-2020 | StatisticsData
Run Code Online (Sandbox Code Playgroud)
我的目标是将其分成批次 X 天。例如,如果我想参加 2 天的条目,结果我将收到:
第一批:
22-02-2020 | StatisticsData
21-02-2020 | StatisticsData
Run Code Online (Sandbox Code Playgroud)
第二批:
20-02-2020 | StatisticsData
19-02-2020 | StatisticsData
19-02-2020 | StatisticsData
Run Code Online (Sandbox Code Playgroud)
第三批:
18-02-2020 …Run Code Online (Sandbox Code Playgroud)