标题应该是自我解释的。 QueryView中的EDMX允许预定义投影和条件查询。 QueryView创建了额外的只读映射。
示例:
假设我们的BlogPost
表包含Title
,ShortDescription
和Content
列。如果我们想使用BlogPost
,我们将直接使用此实体。如果我们想显示最近显示标题和说明的BlogPosts
列表,我们也不想加载内容。一种方法是直接使用带有投影的查询。其他方法是将此投影在EDMX中(通过使用QueryView =可重用投影是映射的一部分)映射到名为BlogPostInfo
的新实体。然后,您可以在显示博客帖子列表时查询BlogPostInfo
实体的上下文。
答案 0 :(得分:0)
我发现如果从EDMX生成DbContext
,则可以使用QueryView,因为在这种情况下DbContext
仅在EDMX中进行包装映射。但这不是我想要的。代码优先本身可能不提供任何QueryView等效,因此最好的方法可能是将可重用的投影查询定义为直接在派生DbContext
实现上的方法。