EF Core 3.0存储过程自定义视图模型

时间:2019-11-13 21:12:42

标签: .net-core entity-framework-core asp.net-core-3.0 ef-core-3.0

我从.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,它将返回结果,我想将它们放入模型中。

2 个答案:

答案 0 :(得分:0)

好的,我能够解决它,这就是我所做的。

1)将代码改回原来的方式并保存。 2)清洗溶液,然后重新构建。 3)将代码更改为3.0版本。 4)清洗溶液,然后重新构建。

现在我不再有任何有关添加迁移的错误。

答案 1 :(得分:0)

我在ASP.net核心中重复了我的列表,就像在自定义模型中放入[key]一样,因此使用modelBuilder.Entity<ProductByKeyword>().HasNoKey();解决了我的问题。