Entity framework 如何将实体标识为实体框架T4模板中的视图?

Entity framework 如何将实体标识为实体框架T4模板中的视图?,entity-framework,t4,edmx,Entity Framework,T4,Edmx,我使用T4模板从EntityFramework 6.1生成单元测试代码,需要避免为视图生成代码 如果图元是视图,则在.EDMX文件中以这种方式标注该图元 <EntitySet Name="vwMyView" EntityType="Self.vwMyView" store:Type="Views" store:Schema="dbo"> 我可以用这个来访问EntitySet foreach (EntityContainer container in ItemCollection

我使用T4模板从EntityFramework 6.1生成单元测试代码,需要避免为视图生成代码

如果图元是视图,则在.EDMX文件中以这种方式标注该图元

<EntitySet Name="vwMyView" EntityType="Self.vwMyView" store:Type="Views" store:Schema="dbo">

我可以用这个来访问EntitySet

foreach (EntityContainer container in ItemCollection.GetItems<EntityContainer>()) { 
    foreach (EntitySet set in container.BaseEntitySets.OfType<EntitySet>())
    { 
        if (set.ElementType.Name == (class I'm generating)) {
          // get EntitySet stuff
        }
    } 
}
foreach(ItemCollection.GetItems()中的EntityContainer容器){
foreach(container.BaseEntitySets.OfType()中的EntitySet)
{ 
if(set.ElementType.Name==(我正在生成的类)){
//获取EntitySet内容
}
} 
}
但是,我一辈子都找不到“store:Type”属性的值。它不在MetadataProperties中

提前感谢,


约翰

我认为这是不可能的。显示的edmx文件部分位于“存储模型”部分,该部分是在从数据库生成/更新模型时创建的。edmx中用于创建代码的概念模型部分不包含任何有关实体存储类型的信息。谢谢Gert,最糟糕的情况是,我可以将EDMX作为XML文档打开,并使用XPath查询找到它,但我讨厌在行外着色,因为下一次更新可能会消除这些假设。同时,我使用命名约定——视图以“vw”开头。这似乎是一件合理的事情,但我想知道为什么他们没有提供一种方法来发现。我想他们认为在这种情况下,人们永远不会检查“从数据库创建模型”对话框中的“视图”标记。该模型的概念方面被认为是不知道持久性的,这应该是该信息在那里不可用的原因。