我从.net Core 2.1升级到了3.0,但是我无法使存储过程正常工作,所以这就是我所拥有的。
我有几个sp,它从许多不同的表中返回数据,所以我创建了一个包含所有要返回的自定义字段的类,并在上下文类中映射了它们。
在2.1版中,我是这样做的。
public DbQuery<ProductByKeyword> ProductBriefInfoModel { get; set; }
builder.Query<ProductByKeyword>();
在3.0中,我将其更改为。
public DbSet<ProductByKeyword> ProductBriefInfoModel { get; set; }
builder.Entity<ProductByKeyword>().HasNoKey();
现在这无法解决我需要添加迁移的错误,并且在添加迁移后,我看到ef核心为此创建了一个表,所以我看到这里出了点问题,谁能指导我在哪里错误?我为此在数据库中没有任何视图或表,它只是一个sp,它将返回结果,我想将它们放入模型中。
答案 0 :(得分:0)
好的,我能够解决它,这就是我所做的。
1)将代码改回原来的方式并保存。 2)清洗溶液,然后重新构建。 3)将代码更改为3.0版本。 4)清洗溶液,然后重新构建。
现在我不再有任何有关添加迁移的错误。
答案 1 :(得分:0)
我在ASP.net核心中重复了我的列表,就像在自定义模型中放入[key]
一样,因此使用modelBuilder.Entity<ProductByKeyword>().HasNoKey();
解决了我的问题。