我正在使用带有EFCore的SQLite,但是我遇到了一个问题...如何禁用Pluralize等约定?可能吗?
我的模型构建器没有属性约定...
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder. [NOT HAS PROPERTY CONVENTION]
}
Run Code Online (Sandbox Code Playgroud) Asp.Net Razor Page的自动脚手架的生成是否与bool数据类型兼容?
我问这个问题,因为我正在学习本教程:https://docs.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/model.在某一点上,在创建POCO类之后,配置dbContext和迁移,我运行此命令以自动生成脚手架
dotnet aspnet-codegenerator razorpage -m Movie -dc MovieContext -udl -outDir Pages\Movies --referenceScriptLibraries
Run Code Online (Sandbox Code Playgroud)
它的美丽,但只是工作,如果我的POCO类没有bool类型.
示例POCO类:
using System;
namespace RazorPagesMovie.Models
{
public class Movie
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime ReleaseDate { get; set; }
public string Genre { get; set; }
public bool Active { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
有了这个实现,我会在尝试创建一个电影时得到这个错误:
'CreateModel'不包含'Active'的定义,并且没有扩展方法'Active'可以找到接受类型'CreateModel'的第一个参数(你是否缺少using指令或汇编引用?)
任何的想法?
也许是我使用SQLite作为数据库这一事实的必要信息......
而CreateModel类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks; …Run Code Online (Sandbox Code Playgroud) 根据文档,当索引覆盖查询时,MongoDB 应跳过 FETCH 阶段。
\n如果我理解正确的话,这句话解释了这种行为:
\n\n\n覆盖查询 当索引覆盖查询时,MongoDB 既可以匹配查询条件,又可以仅使用索引键返回结果;\ni.e. MongoDB 不需要检查集合中的文档来\n返回结果。
\n当索引覆盖查询时,解释结果有一个 IXSCAN 阶段,\n该阶段不是 FETCH 阶段的后代,并且在executionStats 中,\ntotalDocsExamined 为 0。
\n在 MongoDB 的早期版本中,cursor.explain() 返回\nindexOnly 字段来指示索引是否覆盖查询。\n( https://docs.mongodb.com/manual/reference/explain-results/ )
\n
和这个
\n\n\n这样,查询耗时不到 2 毫秒。由于索引\n\xe2\x80\x98 覆盖了\xe2\x80\x99 查询,MongoDB 能够匹配查询条件\n并仅使用索引返回结果钥匙;甚至不需要检查集合中的文档来返回结果。(如果您在执行计划中看到 IXSCAN 阶段不是 FETCH 阶段的子级,则索引 \xe2\x80\x98 覆盖\xe2\x80\x99 查询。)( https://studio3t.com /知识库/文章/mongodb-index-strategy/)
\n
但在测试场景中它不会发生:
\n测试示例:
\n db.Test.insert({"Field1":"data on field1: 1","Field2":"data on field2: 1"});\n db.Test.insert({"Field1":"data on field1: 2","Field2":"data on field2: 2"});\n db.Test.insert({"Field1":"data on field1: 3","Field2":"data on field2: 3"});\n db.Test.insert({"Field1":"data on …Run Code Online (Sandbox Code Playgroud)