Sql server 实体框架中的视图?
我有一张桌子叫Item 我有一个名为ItemView的视图,它返回Item的所有列+另外一个聚合列,我希望这些列是只读的 我需要在实体框架中使用它,我不知道应该如何使用它,因为在设计器中插入视图时,所有字段都成为实体键,而且没有可用的关系,因此我无法从基表访问作为nav属性的相关表 有没有办法把他们两个都变成一个班?我还能做什么 假设我有一个实体项。 保存此项后,我想从视图中检索其计算值,这是如何完成的 我从未在EF中使用过视图,在这些场景中使用的最佳实践是什么?Sql server 实体框架中的视图?,sql-server,entity-framework,views,Sql Server,Entity Framework,Views,我有一张桌子叫Item 我有一个名为ItemView的视图,它返回Item的所有列+另外一个聚合列,我希望这些列是只读的 我需要在实体框架中使用它,我不知道应该如何使用它,因为在设计器中插入视图时,所有字段都成为实体键,而且没有可用的关系,因此我无法从基表访问作为nav属性的相关表 有没有办法把他们两个都变成一个班?我还能做什么 假设我有一个实体项。 保存此项后,我想从视图中检索其计算值,这是如何完成的 我从未在EF中使用过视图,在这些场景中使用的最佳实践是什么? 欢迎提供任何建议、链接、博客、
欢迎提供任何建议、链接、博客、文章、笑话。EF Designer自动将每个非空字段标记为主键的一部分。您必须手动编辑edmx文件并进行更正。当主键设置正确时,您必须自己定义表和视图之间的关系。您应该阅读以下条目: 如果不希望每次更改模型时都更改edmx文件,可以更改视图的定义。如果字段被识别为非空,则可以从以下位置更改视图定义:
select field_name from table_name
到
此方式字段未被识别为not null,并且视图中只有主键字段被识别为not null。我最终使用了此扩展,为我解决了所有问题:
select coalesce(field_name,null) field_name from table_name