• 添加定义查询


    <?xml version="1.0" encoding="utf-8"?>
    <edmx:Edmx Version="3.0" xmlns:edmx="http://schemas.microsoft.com/ado/2009/11/edmx">
      <!-- EF Runtime content -->
      <edmx:Runtime>
        <!-- SSDL content -->
        <edmx:StorageModels>
          <Schema Namespace="SchoolModel.Store" Provider="System.Data.SqlClient" ProviderManifestToken="2012" Alias="Self" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm/ssdl">
         
            <!--数据库模型-->
            <EntityType Name="GradeReport">
              <Key>
                <PropertyRef Name="CourseID" />
                <PropertyRef Name="FirstName" />
                <PropertyRef Name="LastName" />
              </Key>
              <Property Name="CourseID"
                        Type="int"
                        Nullable="false" />
              <Property Name="Grade"
                        Type="decimal"
                        Precision="3"
                        Scale="2" />
              <Property Name="FirstName"
                        Type="nvarchar"
                        Nullable="false"
                        MaxLength="50" />
              <Property Name="LastName"
                        Type="nvarchar"
                        Nullable="false"
                        MaxLength="50" />
            </EntityType>     
            <EntityContainer Name="SchoolModelStoreContainer">
              <EntitySet Name="GradeReport" EntityType="Self.GradeReport" >
                <DefiningQuery>
                  SELECT CourseID, Grade, FirstName, LastName
                  FROM StudentGrade
                  JOIN
                  (SELECT * FROM Person WHERE EnrollmentDate IS NOT NULL) AS p
                  ON StudentID = p.PersonID
                </DefiningQuery>
              </EntitySet>
              <EntitySet Name="Course" EntityType="Self.Course" Schema="dbo" store:Type="Tables" />
              <EntitySet Name="CourseInstructor" EntityType="Self.CourseInstructor" Schema="dbo" store:Type="Tables" />
              <EntitySet Name="Department" EntityType="Self.Department" Schema="dbo" store:Type="Tables" />
              <EntitySet Name="OfficeAssignment" EntityType="Self.OfficeAssignment" Schema="dbo" store:Type="Tables" />
              <EntitySet Name="OnlineCourse" EntityType="Self.OnlineCourse" Schema="dbo" store:Type="Tables" />
              <EntitySet Name="OnsiteCourse" EntityType="Self.OnsiteCourse" Schema="dbo" store:Type="Tables" />
              <EntitySet Name="Person" EntityType="Self.Person" Schema="dbo" store:Type="Tables" />
              <EntitySet Name="StudentGrade" EntityType="Self.StudentGrade" Schema="dbo" store:Type="Tables" />
              <AssociationSet Name="FK_Course_Department" Association="Self.FK_Course_Department">
                <End Role="Department" EntitySet="Department" />
                <End Role="Course" EntitySet="Course" />
              </AssociationSet>
              <AssociationSet Name="FK_CourseInstructor_Course" Association="Self.FK_CourseInstructor_Course">
                <End Role="Course" EntitySet="Course" />
                <End Role="CourseInstructor" EntitySet="CourseInstructor" />
              </AssociationSet>
              <AssociationSet Name="FK_CourseInstructor_Person" Association="Self.FK_CourseInstructor_Person">
                <End Role="Person" EntitySet="Person" />
                <End Role="CourseInstructor" EntitySet="CourseInstructor" />
              </AssociationSet>
              <AssociationSet Name="FK_OfficeAssignment_Person" Association="Self.FK_OfficeAssignment_Person">
                <End Role="Person" EntitySet="Person" />
                <End Role="OfficeAssignment" EntitySet="OfficeAssignment" />
              </AssociationSet>
              <AssociationSet Name="FK_OnlineCourse_Course" Association="Self.FK_OnlineCourse_Course">
                <End Role="Course" EntitySet="Course" />
                <End Role="OnlineCourse" EntitySet="OnlineCourse" />
              </AssociationSet>
              <AssociationSet Name="FK_OnsiteCourse_Course" Association="Self.FK_OnsiteCourse_Course">
                <End Role="Course" EntitySet="Course" />
                <End Role="OnsiteCourse" EntitySet="OnsiteCourse" />
              </AssociationSet>
              <AssociationSet Name="FK_StudentGrade_Course" Association="Self.FK_StudentGrade_Course">
                <End Role="Course" EntitySet="Course" />
                <End Role="StudentGrade" EntitySet="StudentGrade" />
              </AssociationSet>
              <AssociationSet Name="FK_StudentGrade_Student" Association="Self.FK_StudentGrade_Student">
                <End Role="Person" EntitySet="Person" />
                <End Role="StudentGrade" EntitySet="StudentGrade" />
              </AssociationSet>
            </EntityContainer>
          </Schema>
        </edmx:StorageModels>
        <!-- CSDL content -->
        <edmx:ConceptualModels>
          <Schema Namespace="SchoolModel" Alias="Self" annotation:UseStrongSpatialTypes="false" xmlns:annotation="http://schemas.microsoft.com/ado/2009/02/edm/annotation" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm">
         
            <!--概念模型-->        
            <EntityType Name="GradeReport">
              <Key>
                <PropertyRef Name="CourseID" />
                <PropertyRef Name="FirstName" />
                <PropertyRef Name="LastName" />
              </Key>
              <Property Name="CourseID"
                        Type="Int32"
                        Nullable="false" />
              <Property Name="Grade"
                        Type="Decimal"
                        Precision="3"
                        Scale="2" />
              <Property Name="FirstName"
                        Type="String"
                        Nullable="false"
                        MaxLength="50" />
              <Property Name="LastName"
                        Type="String"
                        Nullable="false"
                        MaxLength="50" />
            </EntityType>
            <EntityContainer Name="SchoolEntities" annotation:LazyLoadingEnabled="true">          
              <EntitySet Name="GradeReport" EntityType="Self.GradeReport" />      
    
            </EntityContainer>
          </Schema>
        </edmx:ConceptualModels>
        <!-- C-S mapping content -->
        <edmx:Mappings>
          <Mapping Space="C-S" xmlns="http://schemas.microsoft.com/ado/2009/11/mapping/cs">
            <EntityContainerMapping StorageEntityContainer="SchoolModelStoreContainer" CdmEntityContainer="SchoolEntities">
             
              <!--映射(概念模型与数据库模型)-->
              <EntitySetMapping Name="GradeReport">
                <EntityTypeMapping TypeName="IsTypeOf(SchoolModel.GradeReport)">
                  <MappingFragment StoreEntitySet="GradeReport">
                    <ScalarProperty Name="CourseID" ColumnName="CourseID" />
                    <ScalarProperty Name="Grade" ColumnName="Grade" />
                    <ScalarProperty Name="FirstName" ColumnName="FirstName" />
                    <ScalarProperty Name="LastName" ColumnName="LastName" />
                  </MappingFragment>
                </EntityTypeMapping>
              </EntitySetMapping>
    
            
            </EntityContainerMapping>
          </Mapping>
        </edmx:Mappings>
      </edmx:Runtime>
      <!-- EF Designer content (DO NOT EDIT MANUALLY BELOW HERE) -->
      <Designer xmlns="http://schemas.microsoft.com/ado/2009/11/edmx">
        <Connection>
          <DesignerInfoPropertySet>
            <DesignerProperty Name="MetadataArtifactProcessing" Value="EmbedInOutputAssembly" />
          </DesignerInfoPropertySet>
        </Connection>
        <Options>
          <DesignerInfoPropertySet>
            <DesignerProperty Name="ValidateOnBuild" Value="true" />
            <DesignerProperty Name="EnablePluralization" Value="false" />
            <DesignerProperty Name="IncludeForeignKeysInModel" Value="true" />
            <DesignerProperty Name="UseLegacyProvider" Value="false" />
            <DesignerProperty Name="CodeGenerationStrategy" Value="" />
          </DesignerInfoPropertySet>
        </Options>
        <!-- Diagram content (shape and connector positions) -->
        <Diagrams></Diagrams>
      </Designer>
    </edmx:Edmx>

    执行自定义查询

    using (var context = new SchoolEntities()) 
    { 
        var report = context.GradeReports.FirstOrDefault(); 
        Console.WriteLine("{0} {1} got {2}", 
            report.FirstName, report.LastName, report.Grade); 
    }

    参考:https://msdn.microsoft.com/zh-cn/library/cc982038.aspx

           https://msdn.microsoft.com/zh-cn/data/jj730307

  • 相关阅读:
    电脑快捷键大全
    js实现页面跳转
    List转换为字符串方法
    Bootstrap4显示和隐藏元素
    反向代理和正向代理区别
    springboot系列一:工作环境无法联网下快速搭建boot项目
    英语故事系列:冠状病毒传播或导致2020首季度全球经济出现萎缩
    BBS网站的制作
    Flask-SQLAlchemy数据库操作
    step-by-step install Nginx反向代理服务器(Ubuntu 18.04 LTS)(转)
  • 原文地址:https://www.cnblogs.com/goodlucklzq/p/4658801.html
Copyright © 2020-2023  润新知