CRUD遇到的问题
(1)
在写自定义类时针对于id
因为继承了一个基类,所以得用
如果用int就会出现隐式类型不能转换的问题
(2)
实体-仓储-Dto都应该命名做到一一对应
(3)
在实现CRUD时就应该
1.根据对数据要做的操作先定义仓储接口
2.继承EfCoreRepository
3.在泛型参数里制定对应的数据上下文
4.还有一种自动生成接口的代码
不想自动生成就注释掉
//options.ConventionalControllers.Create(typeof(BookStoreApplicationModule).Assembly);
补充:后续发现根本就没有这段代码,回头看官方文档有一句话可以更改就是在
[RemoteService(IsEnabled = false)]
就可以禁用自动生成api
后续遇到的问题
(1)swagger中execute之后500错误 首先打开了vs的异常设置的运行时报错打勾
然后在cmd控制台中发现时找不到这个表的错误,然后从DbContext里找到第一处Dbset 表名 必须与表名一致否则出错
builder.Entity<Book>(b =>
{
b.ToTable(CloudConsts.DbTablePrefix + "Book",//这也得和表名一致
CloudConsts.DbSchema);
b.ConfigureByConvention();
b.Property(b=>b.Name)
.IsRequired()
.HasMaxLength(128);
});