gpt4 book ai didi

c# - Entity Framework - 从 View 创建模型?

转载 作者:太空狗 更新时间:2023-10-30 01:06:30 25 4
gpt4 key购买 nike

我是 ASPNET 和 MVC 4 的新手,所以我想这可能是一个简单的问题。但是,我一直无法正确地用谷歌搜索答案。我只想显示一些销售信息 - 我需要显示它。我不需要从基础表中插入、更新或删除。

需要从 3 个 SQL Server 表中提取数据:CurrentSales、SalesPlans 和 AverageSales。我为此创建了一个 VIEW 并在其上放置了一个唯一的聚集索引;它包含一些外部连接,但具有处理任何不太可能的 NULL 值的逻辑。

我转到模型,添加一个新的 ADO.NET 实体数据模型,并将我的 View 添加到模型中。它回来说 “表/ View ‘vw_FullView’没有定义主键。 已推断出 key 并将定义创建为只读表/ View 。”当我从这个模型和实体创建一个 Controller 类时, View 在我加载网站时不显示任何数据。

但是,如果我创建一个完全空白的表 - 具有适当的主键 - 作为模型表,然后使用存储过程(作为函数导入)来检索我需要的数据,一切正常。

这显然不是处理此问题的正确方法。有没有办法从 View 中创建强类型模型?我更愿意让 ASP.NET 中的 Controller 和 View 对象从模型中的 SQL View 正确地自动生成,而不是需要这个空白表来“愚弄”系统。

非常感谢。

最佳答案

Entity Framework 不太喜欢 View 。它无法确定 View 的主键是什么,因此它假定任何不可为空的字段都是复合主键的一部分。

一般来说,在使用 Entity Framework 时避免使用 View 。创建一个 linq 查询来执行您的 View 所做的事情并改用它。

关于c# - Entity Framework - 从 View 创建模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15348606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com