C# 实体框架问题,表或视图没有主键
我在ASP.NET MVC中有一个使用实体框架的小crud应用程序,一切正常,只是要求我使用视图添加到crud。在任何情况下,此视图都没有主键,当我想要添加视图时,它会跳转到我的位置,显示该错误。是否有任何方法可以在不修改视图的情况下修复此问题 我附上示例视图:C# 实体框架问题,表或视图没有主键,c#,asp.net,asp.net-mvc,entity-framework,crud,C#,Asp.net,Asp.net Mvc,Entity Framework,Crud,我在ASP.NET MVC中有一个使用实体框架的小crud应用程序,一切正常,只是要求我使用视图添加到crud。在任何情况下,此视图都没有主键,当我想要添加视图时,它会跳转到我的位置,显示该错误。是否有任何方法可以在不修改视图的情况下修复此问题 我附上示例视图: create view view_Prueba as select nombre, garantia, region, sucursal from region, prueba where idprue = i
create view view_Prueba
as
select nombre, garantia, region, sucursal
from region, prueba
where idprue = idprue
公共虚拟数据库查询视图\u Pruebas{get;set;}
.....
实体(e=>
{
e、 ToView(“View_Prueba”);
e、 HasNoKey();
});
如果您使用ef core版本低于core 5,请尝试以下代码
public virtual DbQuery<View_Prueba> View_Pruebas { get; set; }
.....
公共虚拟数据库查询视图\u Pruebas{get;set;}
.....
-在ANSI-92 SQL标准(大约30年前)中,旧样式的逗号分隔表格列表样式被正确的ANSIJOIN
语法所取代,其使用是discouraged@marc_s感谢您的更正,但这只是一个示例,我无法访问服务器的真实视图我相信.HasNoKey()
功能仅在EF Core中可用-我没有看到OP提到EF的“Core”版本的迹象。@marc_s是正确的,我没有使用EF Core
public virtual DbQuery<View_Prueba> View_Pruebas { get; set; }
.....
modelBuilder.Entity<View_Prueba>(e =>
{
e.ToView("View_Prueba");
e.HasNoKey();
});
public virtual DbQuery<View_Prueba> View_Pruebas { get; set; }
.....