Поделиться через


Модель School (модель EDM)

Модель School — это модель Entity Data Model на основе базы данных School. Для создания базы данных School следуйте инструкциям в разделе Создание образца базы данных School (краткое руководство по Entity Framework). Для определения модели School также могут быть использованы средства модели EDM. Дополнительные сведения см. в разделе Краткое руководство (платформа Entity Framework).

Соединение

Следующие параметры в файле app.config определяют соединение с моделью School.

<configuration>
    <connectionStrings>
        <add name="SchoolEntities"
             connectionString="metadata=.\School.csdl|.\School.ssdl|.\School.msl;
             provider=System.Data.SqlClient;provider connection string=&quot;Data Source=localhost;
             Initial Catalog=School;Integrated Security=True;MultipleActiveResultSets=True&quot;"
             providerName="System.Data.EntityClient" />
    </connectionStrings>
</configuration>

Определение модели данных

Модель EDM для модели School определена в следующих файлах языка CSDL, SSDL и MSL.

Концептуальная схема

<Schema Namespace="SchoolModel" Alias="Self" xmlns="https://schemas.microsoft.com/ado/2006/04/edm">
    <EntityContainer Name="SchoolEntities">
        <EntitySet Name="Course" EntityType="SchoolModel.Course" />
        <EntitySet Name="CourseGrade" EntityType="SchoolModel.CourseGrade" />
        <EntitySet Name="Department" EntityType="SchoolModel.Department" />
        <EntitySet Name="OfficeAssignment" EntityType="SchoolModel.OfficeAssignment" />
        <EntitySet Name="OnlineCourse" EntityType="SchoolModel.OnlineCourse" />
        <EntitySet Name="OnsiteCourse" EntityType="SchoolModel.OnsiteCourse" />
        <EntitySet Name="Person" EntityType="SchoolModel.Person" />
        <AssociationSet Name="FK_Course_Department" Association="SchoolModel.FK_Course_Department">
            <End Role="Department" EntitySet="Department" />
            <End Role="Course" EntitySet="Course" />
        </AssociationSet>
        <AssociationSet Name="FK_CourseGrade_Course" Association="SchoolModel.FK_CourseGrade_Course">
            <End Role="Course" EntitySet="Course" />
            <End Role="CourseGrade" EntitySet="CourseGrade" />
        </AssociationSet>
        <AssociationSet Name="FK_OnlineCourse_Course" Association="SchoolModel.FK_OnlineCourse_Course">
            <End Role="Course" EntitySet="Course" />
            <End Role="OnlineCourse" EntitySet="OnlineCourse" />
        </AssociationSet>
        <AssociationSet Name="FK_OnsiteCourse_Course" Association="SchoolModel.FK_OnsiteCourse_Course">
            <End Role="Course" EntitySet="Course" />
            <End Role="OnsiteCourse" EntitySet="OnsiteCourse" />
        </AssociationSet>
        <AssociationSet Name="FK_CourseGrade_Student" Association="SchoolModel.FK_CourseGrade_Student">
            <End Role="Person" EntitySet="Person" />
            <End Role="CourseGrade" EntitySet="CourseGrade" />
        </AssociationSet>
        <AssociationSet Name="FK_OfficeAssignment_Person" Association="SchoolModel.FK_OfficeAssignment_Person">
            <End Role="Person" EntitySet="Person" />
            <End Role="OfficeAssignment" EntitySet="OfficeAssignment" />
        </AssociationSet>
        <AssociationSet Name="CourseInstructor" Association="SchoolModel.CourseInstructor">
            <End Role="Course" EntitySet="Course" />
            <End Role="Person" EntitySet="Person" />
        </AssociationSet>
    </EntityContainer>
    <EntityType Name="Course">
        <Key>
            <PropertyRef Name="CourseID" />
        </Key>
        <Property Name="CourseID" Type="Int32" Nullable="false" />
        <Property Name="Title" Type="String" Nullable="false" MaxLength="100" Unicode="true" FixedLength="false" />
        <Property Name="Credits" Type="Int32" Nullable="false" />
        <NavigationProperty Name="Department" Relationship="SchoolModel.FK_Course_Department" 
                            FromRole="Course" ToRole="Department" />
        <NavigationProperty Name="CourseGrade" Relationship="SchoolModel.FK_CourseGrade_Course" 
                            FromRole="Course" ToRole="CourseGrade" />
        <NavigationProperty Name="OnlineCourse" Relationship="SchoolModel.FK_OnlineCourse_Course" 
                            FromRole="Course" ToRole="OnlineCourse" />
        <NavigationProperty Name="OnsiteCourse" Relationship="SchoolModel.FK_OnsiteCourse_Course" 
                            FromRole="Course" ToRole="OnsiteCourse" />
        <NavigationProperty Name="Person" Relationship="SchoolModel.CourseInstructor" FromRole="Course" 
                            ToRole="Person" />
    </EntityType>
    <EntityType Name="CourseGrade">
        <Key>
            <PropertyRef Name="EnrollmentID" />
        </Key>
        <Property Name="EnrollmentID" Type="Int32" Nullable="false" />
        <Property Name="Grade" Type="Decimal" Precision="3" Scale="2" />
        <NavigationProperty Name="Course" Relationship="SchoolModel.FK_CourseGrade_Course" 
                            FromRole="CourseGrade" ToRole="Course" />
        <NavigationProperty Name="Person" Relationship="SchoolModel.FK_CourseGrade_Student" 
                            FromRole="CourseGrade" ToRole="Person" />
    </EntityType>
    <EntityType Name="Department">
        <Key>
            <PropertyRef Name="DepartmentID" />
        </Key>
        <Property Name="DepartmentID" Type="Int32" Nullable="false" />
        <Property Name="Name" Type="String" Nullable="false" MaxLength="50" Unicode="true" FixedLength="false" />
        <Property Name="Budget" Type="Decimal" Nullable="false" Precision="19" Scale="4" />
        <Property Name="StartDate" Type="DateTime" Nullable="false" />
        <Property Name="Administrator" Type="Int32" />
        <NavigationProperty Name="Course" Relationship="SchoolModel.FK_Course_Department" FromRole="Department" ToRole="Course" />
    </EntityType>
    <EntityType Name="OfficeAssignment">
        <Key>
            <PropertyRef Name="InstructorID" />
        </Key>
        <Property Name="InstructorID" Type="Int32" Nullable="false" />
        <Property Name="Location" Type="String" Nullable="false" MaxLength="50" Unicode="true" FixedLength="false" />
        <NavigationProperty Name="Person" Relationship="SchoolModel.FK_OfficeAssignment_Person" FromRole="OfficeAssignment" ToRole="Person" />
    </EntityType>
    <EntityType Name="OnlineCourse">
        <Key>
            <PropertyRef Name="CourseID" />
        </Key>
        <Property Name="CourseID" Type="Int32" Nullable="false" />
        <Property Name="URL" Type="String" Nullable="false" MaxLength="100" Unicode="true" FixedLength="false" />
        <NavigationProperty Name="Course" Relationship="SchoolModel.FK_OnlineCourse_Course" FromRole="OnlineCourse" ToRole="Course" />
    </EntityType>
    <EntityType Name="OnsiteCourse">
        <Key>
            <PropertyRef Name="CourseID" />
        </Key>
        <Property Name="CourseID" Type="Int32" Nullable="false" />
        <Property Name="Location" Type="String" Nullable="false" MaxLength="50" Unicode="true" FixedLength="false" />
        <Property Name="Days" Type="String" Nullable="false" MaxLength="50" Unicode="true" FixedLength="false" />
        <Property Name="Time" Type="DateTime" Nullable="false" />
        <NavigationProperty Name="Course" Relationship="SchoolModel.FK_OnsiteCourse_Course" FromRole="OnsiteCourse" ToRole="Course" />
    </EntityType>
    <EntityType Name="Person">
        <Key>
            <PropertyRef Name="PersonID" />
        </Key>
        <Property Name="PersonID" Type="Int32" Nullable="false" />
        <Property Name="LastName" Type="String" Nullable="false" MaxLength="50" Unicode="true" FixedLength="false" />
        <Property Name="FirstName" Type="String" Nullable="false" MaxLength="50" Unicode="true" FixedLength="false" />
        <Property Name="HireDate" Type="DateTime" />
        <Property Name="EnrollmentDate" Type="DateTime" />
        <NavigationProperty Name="CourseGrade" Relationship="SchoolModel.FK_CourseGrade_Student" FromRole="Person" ToRole="CourseGrade" />
        <NavigationProperty Name="OfficeAssignment" Relationship="SchoolModel.FK_OfficeAssignment_Person" FromRole="Person" ToRole="OfficeAssignment" />
        <NavigationProperty Name="Course" Relationship="SchoolModel.CourseInstructor" FromRole="Person" ToRole="Course" />
    </EntityType>
    <Association Name="FK_Course_Department">
        <End Role="Department" Type="SchoolModel.Department" Multiplicity="1" />
        <End Role="Course" Type="SchoolModel.Course" Multiplicity="*" />
    </Association>
    <Association Name="FK_CourseGrade_Course">
        <End Role="Course" Type="SchoolModel.Course" Multiplicity="1" />
        <End Role="CourseGrade" Type="SchoolModel.CourseGrade" Multiplicity="*" />
    </Association>
    <Association Name="FK_OnlineCourse_Course">
        <End Role="Course" Type="SchoolModel.Course" Multiplicity="1" />
        <End Role="OnlineCourse" Type="SchoolModel.OnlineCourse" Multiplicity="0..1" />
        <ReferentialConstraint>
            <Principal Role="Course">
                <PropertyRef Name="CourseID" />
            </Principal>
            <Dependent Role="OnlineCourse">
                <PropertyRef Name="CourseID" />
            </Dependent>
        </ReferentialConstraint>
    </Association>
    <Association Name="FK_OnsiteCourse_Course">
        <End Role="Course" Type="SchoolModel.Course" Multiplicity="1" />
        <End Role="OnsiteCourse" Type="SchoolModel.OnsiteCourse" Multiplicity="0..1" />
        <ReferentialConstraint>
            <Principal Role="Course">
                <PropertyRef Name="CourseID" />
            </Principal>
            <Dependent Role="OnsiteCourse">
                <PropertyRef Name="CourseID" />
            </Dependent>
        </ReferentialConstraint>
    </Association>
    <Association Name="FK_CourseGrade_Student">
        <End Role="Person" Type="SchoolModel.Person" Multiplicity="1" />
        <End Role="CourseGrade" Type="SchoolModel.CourseGrade" Multiplicity="*" />
    </Association>
    <Association Name="FK_OfficeAssignment_Person">
        <End Role="Person" Type="SchoolModel.Person" Multiplicity="1" />
        <End Role="OfficeAssignment" Type="SchoolModel.OfficeAssignment" Multiplicity="0..1" />
        <ReferentialConstraint>
            <Principal Role="Person">
                <PropertyRef Name="PersonID" />
            </Principal>
            <Dependent Role="OfficeAssignment">
                <PropertyRef Name="InstructorID" />
            </Dependent>
        </ReferentialConstraint>
    </Association>
    <Association Name="CourseInstructor">
        <End Role="Course" Type="SchoolModel.Course" Multiplicity="*" />
        <End Role="Person" Type="SchoolModel.Person" Multiplicity="*" />
    </Association>
</Schema>

Схема хранилища

<Schema Namespace="SchoolModel.Store" Alias="Self" Provider="System.Data.SqlClient" 
        ProviderManifestToken="2005" 
        xmlns:store="https://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" 
        xmlns="https://schemas.microsoft.com/ado/2006/04/edm/ssdl">
    <EntityContainer Name="dbo">
        <EntitySet Name="Course" EntityType="SchoolModel.Store.Course" store:Type="Tables" />
        <EntitySet Name="CourseGrade" EntityType="SchoolModel.Store.CourseGrade" store:Type="Tables" />
        <EntitySet Name="CourseInstructor" EntityType="SchoolModel.Store.CourseInstructor" store:Type="Tables" />
        <EntitySet Name="Department" EntityType="SchoolModel.Store.Department" store:Type="Tables" />
        <EntitySet Name="OfficeAssignment" EntityType="SchoolModel.Store.OfficeAssignment" store:Type="Tables" />
        <EntitySet Name="OnlineCourse" EntityType="SchoolModel.Store.OnlineCourse" store:Type="Tables" />
        <EntitySet Name="OnsiteCourse" EntityType="SchoolModel.Store.OnsiteCourse" store:Type="Tables" />
        <EntitySet Name="Person" EntityType="SchoolModel.Store.Person" store:Type="Tables" />
        <AssociationSet Name="FK_Course_Department" Association="SchoolModel.Store.FK_Course_Department">
            <End Role="Department" EntitySet="Department" />
            <End Role="Course" EntitySet="Course" />
        </AssociationSet>
        <AssociationSet Name="FK_CourseGrade_Course" Association="SchoolModel.Store.FK_CourseGrade_Course">
            <End Role="Course" EntitySet="Course" />
            <End Role="CourseGrade" EntitySet="CourseGrade" />
        </AssociationSet>
        <AssociationSet Name="FK_CourseGrade_Student" Association="SchoolModel.Store.FK_CourseGrade_Student">
            <End Role="Person" EntitySet="Person" />
            <End Role="CourseGrade" EntitySet="CourseGrade" />
        </AssociationSet>
        <AssociationSet Name="FK_CourseInstructor_Course" Association="SchoolModel.Store.FK_CourseInstructor_Course">
            <End Role="Course" EntitySet="Course" />
            <End Role="CourseInstructor" EntitySet="CourseInstructor" />
        </AssociationSet>
        <AssociationSet Name="FK_CourseInstructor_Person" Association="SchoolModel.Store.FK_CourseInstructor_Person">
            <End Role="Person" EntitySet="Person" />
            <End Role="CourseInstructor" EntitySet="CourseInstructor" />
        </AssociationSet>
        <AssociationSet Name="FK_OfficeAssignment_Person" Association="SchoolModel.Store.FK_OfficeAssignment_Person">
            <End Role="Person" EntitySet="Person" />
            <End Role="OfficeAssignment" EntitySet="OfficeAssignment" />
        </AssociationSet>
        <AssociationSet Name="FK_OnlineCourse_Course" Association="SchoolModel.Store.FK_OnlineCourse_Course">
            <End Role="Course" EntitySet="Course" />
            <End Role="OnlineCourse" EntitySet="OnlineCourse" />
        </AssociationSet>
        <AssociationSet Name="FK_OnsiteCourse_Course" Association="SchoolModel.Store.FK_OnsiteCourse_Course">
            <End Role="Course" EntitySet="Course" />
            <End Role="OnsiteCourse" EntitySet="OnsiteCourse" />
        </AssociationSet>
    </EntityContainer>
    <EntityType Name="Course">
        <Key>
            <PropertyRef Name="CourseID" />
        </Key>
        <Property Name="CourseID" Type="int" Nullable="false" />
        <Property Name="Title" Type="nvarchar" Nullable="false" MaxLength="100" />
        <Property Name="Credits" Type="int" Nullable="false" />
        <Property Name="DepartmentID" Type="int" Nullable="false" />
    </EntityType>
    <EntityType Name="CourseGrade">
        <Key>
            <PropertyRef Name="EnrollmentID" />
        </Key>
        <Property Name="EnrollmentID" Type="int" Nullable="false" StoreGeneratedPattern="Identity" />
        <Property Name="CourseID" Type="int" Nullable="false" />
        <Property Name="StudentID" Type="int" Nullable="false" />
        <Property Name="Grade" Type="decimal" Precision="3" Scale="2" />
    </EntityType>
    <EntityType Name="CourseInstructor">
        <Key>
            <PropertyRef Name="CourseID" />
            <PropertyRef Name="PersonID" />
        </Key>
        <Property Name="CourseID" Type="int" Nullable="false" />
        <Property Name="PersonID" Type="int" Nullable="false" />
    </EntityType>
    <EntityType Name="Department">
        <Key>
            <PropertyRef Name="DepartmentID" />
        </Key>
        <Property Name="DepartmentID" Type="int" Nullable="false" />
        <Property Name="Name" Type="nvarchar" Nullable="false" MaxLength="50" />
        <Property Name="Budget" Type="money" Nullable="false" />
        <Property Name="StartDate" Type="datetime" Nullable="false" />
        <Property Name="Administrator" Type="int" />
    </EntityType>
    <EntityType Name="OfficeAssignment">
        <Key>
            <PropertyRef Name="InstructorID" />
        </Key>
        <Property Name="InstructorID" Type="int" Nullable="false" />
        <Property Name="Location" Type="nvarchar" Nullable="false" MaxLength="50" />
    </EntityType>
    <EntityType Name="OnlineCourse">
        <Key>
            <PropertyRef Name="CourseID" />
        </Key>
        <Property Name="CourseID" Type="int" Nullable="false" />
        <Property Name="URL" Type="nvarchar" Nullable="false" MaxLength="100" />
    </EntityType>
    <EntityType Name="OnsiteCourse">
        <Key>
            <PropertyRef Name="CourseID" />
        </Key>
        <Property Name="CourseID" Type="int" Nullable="false" />
        <Property Name="Location" Type="nvarchar" Nullable="false" MaxLength="50" />
        <Property Name="Days" Type="nvarchar" Nullable="false" MaxLength="50" />
        <Property Name="Time" Type="smalldatetime" Nullable="false" />
    </EntityType>
    <EntityType Name="Person">
        <Key>
            <PropertyRef Name="PersonID" />
        </Key>
        <Property Name="PersonID" Type="int" Nullable="false" StoreGeneratedPattern="Identity" />
        <Property Name="LastName" Type="nvarchar" Nullable="false" MaxLength="50" />
        <Property Name="FirstName" Type="nvarchar" Nullable="false" MaxLength="50" />
        <Property Name="HireDate" Type="datetime" />
        <Property Name="EnrollmentDate" Type="datetime" />
    </EntityType>
    <Association Name="FK_Course_Department">
        <End Role="Department" Type="SchoolModel.Store.Department" Multiplicity="1" />
        <End Role="Course" Type="SchoolModel.Store.Course" Multiplicity="*" />
        <ReferentialConstraint>
            <Principal Role="Department">
                <PropertyRef Name="DepartmentID" />
            </Principal>
            <Dependent Role="Course">
                <PropertyRef Name="DepartmentID" />
            </Dependent>
        </ReferentialConstraint>
    </Association>
    <Association Name="FK_CourseGrade_Course">
        <End Role="Course" Type="SchoolModel.Store.Course" Multiplicity="1" />
        <End Role="CourseGrade" Type="SchoolModel.Store.CourseGrade" Multiplicity="*" />
        <ReferentialConstraint>
            <Principal Role="Course">
                <PropertyRef Name="CourseID" />
            </Principal>
            <Dependent Role="CourseGrade">
                <PropertyRef Name="CourseID" />
            </Dependent>
        </ReferentialConstraint>
    </Association>
    <Association Name="FK_CourseGrade_Student">
        <End Role="Person" Type="SchoolModel.Store.Person" Multiplicity="1" />
        <End Role="CourseGrade" Type="SchoolModel.Store.CourseGrade" Multiplicity="*" />
        <ReferentialConstraint>
            <Principal Role="Person">
                <PropertyRef Name="PersonID" />
            </Principal>
            <Dependent Role="CourseGrade">
                <PropertyRef Name="StudentID" />
            </Dependent>
        </ReferentialConstraint>
    </Association>
    <Association Name="FK_CourseInstructor_Course">
        <End Role="Course" Type="SchoolModel.Store.Course" Multiplicity="1" />
        <End Role="CourseInstructor" Type="SchoolModel.Store.CourseInstructor" Multiplicity="*" />
        <ReferentialConstraint>
            <Principal Role="Course">
                <PropertyRef Name="CourseID" />
            </Principal>
            <Dependent Role="CourseInstructor">
                <PropertyRef Name="CourseID" />
            </Dependent>
        </ReferentialConstraint>
    </Association>
    <Association Name="FK_CourseInstructor_Person">
        <End Role="Person" Type="SchoolModel.Store.Person" Multiplicity="1" />
        <End Role="CourseInstructor" Type="SchoolModel.Store.CourseInstructor" Multiplicity="*" />
        <ReferentialConstraint>
            <Principal Role="Person">
                <PropertyRef Name="PersonID" />
            </Principal>
            <Dependent Role="CourseInstructor">
                <PropertyRef Name="PersonID" />
            </Dependent>
        </ReferentialConstraint>
    </Association>
    <Association Name="FK_OfficeAssignment_Person">
        <End Role="Person" Type="SchoolModel.Store.Person" Multiplicity="1" />
        <End Role="OfficeAssignment" Type="SchoolModel.Store.OfficeAssignment" Multiplicity="0..1" />
        <ReferentialConstraint>
            <Principal Role="Person">
                <PropertyRef Name="PersonID" />
            </Principal>
            <Dependent Role="OfficeAssignment">
                <PropertyRef Name="InstructorID" />
            </Dependent>
        </ReferentialConstraint>
    </Association>
    <Association Name="FK_OnlineCourse_Course">
        <End Role="Course" Type="SchoolModel.Store.Course" Multiplicity="1" />
        <End Role="OnlineCourse" Type="SchoolModel.Store.OnlineCourse" Multiplicity="0..1" />
        <ReferentialConstraint>
            <Principal Role="Course">
                <PropertyRef Name="CourseID" />
            </Principal>
            <Dependent Role="OnlineCourse">
                <PropertyRef Name="CourseID" />
            </Dependent>
        </ReferentialConstraint>
    </Association>
    <Association Name="FK_OnsiteCourse_Course">
        <End Role="Course" Type="SchoolModel.Store.Course" Multiplicity="1" />
        <End Role="OnsiteCourse" Type="SchoolModel.Store.OnsiteCourse" Multiplicity="0..1" />
        <ReferentialConstraint>
            <Principal Role="Course">
                <PropertyRef Name="CourseID" />
            </Principal>
            <Dependent Role="OnsiteCourse">
                <PropertyRef Name="CourseID" />
            </Dependent>
        </ReferentialConstraint>
    </Association>
</Schema>

Сопоставление

<Mapping Space="C-S" xmlns="urn:schemas-microsoft-com:windows:storage:mapping:CS">
    <EntityContainerMapping StorageEntityContainer="dbo" CdmEntityContainer="SchoolEntities">
        <EntitySetMapping Name="Course">
            <EntityTypeMapping TypeName="IsTypeOf(SchoolModel.Course)">
                <MappingFragment StoreEntitySet="Course">
                    <ScalarProperty Name="CourseID" ColumnName="CourseID" />
                    <ScalarProperty Name="Title" ColumnName="Title" />
                    <ScalarProperty Name="Credits" ColumnName="Credits" />
                </MappingFragment>
            </EntityTypeMapping>
        </EntitySetMapping>
        <EntitySetMapping Name="CourseGrade">
            <EntityTypeMapping TypeName="IsTypeOf(SchoolModel.CourseGrade)">
                <MappingFragment StoreEntitySet="CourseGrade">
                    <ScalarProperty Name="EnrollmentID" ColumnName="EnrollmentID" />
                    <ScalarProperty Name="Grade" ColumnName="Grade" />
                </MappingFragment>
            </EntityTypeMapping>
        </EntitySetMapping>
        <EntitySetMapping Name="Department">
            <EntityTypeMapping TypeName="IsTypeOf(SchoolModel.Department)">
                <MappingFragment StoreEntitySet="Department">
                    <ScalarProperty Name="DepartmentID" ColumnName="DepartmentID" />
                    <ScalarProperty Name="Name" ColumnName="Name" />
                    <ScalarProperty Name="Budget" ColumnName="Budget" />
                    <ScalarProperty Name="StartDate" ColumnName="StartDate" />
                    <ScalarProperty Name="Administrator" ColumnName="Administrator" />
                </MappingFragment>
            </EntityTypeMapping>
        </EntitySetMapping>
        <EntitySetMapping Name="OfficeAssignment">
            <EntityTypeMapping TypeName="IsTypeOf(SchoolModel.OfficeAssignment)">
                <MappingFragment StoreEntitySet="OfficeAssignment">
                    <ScalarProperty Name="InstructorID" ColumnName="InstructorID" />
                    <ScalarProperty Name="Location" ColumnName="Location" />
                </MappingFragment>
            </EntityTypeMapping>
        </EntitySetMapping>
        <EntitySetMapping Name="OnlineCourse">
            <EntityTypeMapping TypeName="IsTypeOf(SchoolModel.OnlineCourse)">
                <MappingFragment StoreEntitySet="OnlineCourse">
                    <ScalarProperty Name="CourseID" ColumnName="CourseID" />
                    <ScalarProperty Name="URL" ColumnName="URL" />
                </MappingFragment>
            </EntityTypeMapping>
        </EntitySetMapping>
        <EntitySetMapping Name="OnsiteCourse">
            <EntityTypeMapping TypeName="IsTypeOf(SchoolModel.OnsiteCourse)">
                <MappingFragment StoreEntitySet="OnsiteCourse">
                    <ScalarProperty Name="CourseID" ColumnName="CourseID" />
                    <ScalarProperty Name="Location" ColumnName="Location" />
                    <ScalarProperty Name="Days" ColumnName="Days" />
                    <ScalarProperty Name="Time" ColumnName="Time" />
                </MappingFragment>
            </EntityTypeMapping>
        </EntitySetMapping>
        <EntitySetMapping Name="Person">
            <EntityTypeMapping TypeName="IsTypeOf(SchoolModel.Person)">
                <MappingFragment StoreEntitySet="Person">
                    <ScalarProperty Name="PersonID" ColumnName="PersonID" />
                    <ScalarProperty Name="LastName" ColumnName="LastName" />
                    <ScalarProperty Name="FirstName" ColumnName="FirstName" />
                    <ScalarProperty Name="HireDate" ColumnName="HireDate" />
                    <ScalarProperty Name="EnrollmentDate" ColumnName="EnrollmentDate" />
                </MappingFragment>
            </EntityTypeMapping>
        </EntitySetMapping>
        <AssociationSetMapping Name="FK_Course_Department" TypeName="SchoolModel.FK_Course_Department" 
                               StoreEntitySet="Course">
            <EndProperty Name="Department">
                <ScalarProperty Name="DepartmentID" ColumnName="DepartmentID" />
            </EndProperty>
            <EndProperty Name="Course">
                <ScalarProperty Name="CourseID" ColumnName="CourseID" />
            </EndProperty>
        </AssociationSetMapping>
        <AssociationSetMapping Name="FK_CourseGrade_Course" TypeName="SchoolModel.FK_CourseGrade_Course" 
                               StoreEntitySet="CourseGrade">
            <EndProperty Name="Course">
                <ScalarProperty Name="CourseID" ColumnName="CourseID" />
            </EndProperty>
            <EndProperty Name="CourseGrade">
                <ScalarProperty Name="EnrollmentID" ColumnName="EnrollmentID" />
            </EndProperty>
        </AssociationSetMapping>
        <AssociationSetMapping Name="FK_OnlineCourse_Course" TypeName="SchoolModel.FK_OnlineCourse_Course" 
                               StoreEntitySet="OnlineCourse">
            <EndProperty Name="Course">
                <ScalarProperty Name="CourseID" ColumnName="CourseID" />
            </EndProperty>
            <EndProperty Name="OnlineCourse">
                <ScalarProperty Name="CourseID" ColumnName="CourseID" />
            </EndProperty>
        </AssociationSetMapping>
        <AssociationSetMapping Name="FK_OnsiteCourse_Course" TypeName="SchoolModel.FK_OnsiteCourse_Course" 
                               StoreEntitySet="OnsiteCourse">
            <EndProperty Name="Course">
                <ScalarProperty Name="CourseID" ColumnName="CourseID" />
            </EndProperty>
            <EndProperty Name="OnsiteCourse">
                <ScalarProperty Name="CourseID" ColumnName="CourseID" />
            </EndProperty>
        </AssociationSetMapping>
        <AssociationSetMapping Name="FK_CourseGrade_Student" TypeName="SchoolModel.FK_CourseGrade_Student" 
                               StoreEntitySet="CourseGrade">
            <EndProperty Name="Person">
                <ScalarProperty Name="PersonID" ColumnName="StudentID" />
            </EndProperty>
            <EndProperty Name="CourseGrade">
                <ScalarProperty Name="EnrollmentID" ColumnName="EnrollmentID" />
            </EndProperty>
        </AssociationSetMapping>
        <AssociationSetMapping Name="FK_OfficeAssignment_Person" TypeName="SchoolModel.FK_OfficeAssignment_Person" 
                               StoreEntitySet="OfficeAssignment">
            <EndProperty Name="Person">
                <ScalarProperty Name="PersonID" ColumnName="InstructorID" />
            </EndProperty>
            <EndProperty Name="OfficeAssignment">
                <ScalarProperty Name="InstructorID" ColumnName="InstructorID" />
            </EndProperty>
        </AssociationSetMapping>
        <AssociationSetMapping Name="CourseInstructor" TypeName="SchoolModel.CourseInstructor" 
                               StoreEntitySet="CourseInstructor">
            <EndProperty Name="Course">
                <ScalarProperty Name="CourseID" ColumnName="CourseID" />
            </EndProperty>
            <EndProperty Name="Person">
                <ScalarProperty Name="PersonID" ColumnName="PersonID" />
            </EndProperty>
        </AssociationSetMapping>
    </EntityContainerMapping>
</Mapping>

См. также

Другие ресурсы

Приступая к работе (Entity Framework)