Главная страница
Навигация по странице:

  • Выполнение задания

  • контрольная АУЖЦИ. 1. Разработать объектную модель электронного паспорта изделия


    Скачать 270.95 Kb.
    Название1. Разработать объектную модель электронного паспорта изделия
    Дата04.06.2021
    Размер270.95 Kb.
    Формат файлаdocx
    Имя файлаконтрольная АУЖЦИ.docx
    ТипРегламент
    #213874

    Задание:

    1. Разработать объектную модель электронного паспорта изделия.

    Электронный паспорт должен хранить информацию о номере и серии изделия, дате и времени производства изделия, гарантийном сроке изделия, а также информацию о проведенных регламентных работах, включая наименование регламентных работ, дату и время проведения, ФИО сервисного инженера, выполнившего данную работу и стоимость выполненной работы.
    2. Дать описание свойств навигации объектной модели для сущностных

    классов.
    3. Сгенерировать базу данных для сохранения объектов сущностных

    классов.
    Выполнение задания

    1. Для реализации электронного паспорта изделия, удовлетворяющего

    данным требованиям необходимо два класса:

    а) Класс электронного паспорта TechO

    Который содержит данные об самом изделии.

    б) Класс регламентных работ RegWork

    Который содержит информацию по проводимым работам.

    Создаем базу данных в sql.


    Прикрепляем базу данных к проекту.



    После прикрепления базы получаем модель


    Ниже представлен файл класса контекста TechO, содержащий коллекции объектов сущностных классов Epas и RegWork.

    namespace Epas

    {

    using System;

    using System.Data.Entity;

    using System.Data.Entity.Infrastructure;

    public partial class EpasportEntities : DbContext

    {

    public EpasportEntities()

    : base("name=EpasportEntities")

    {

    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)

    {

    throw new UnintentionalCodeFirstException();

    }

    public virtual DbSet RegWork { get; set; }

    public virtual DbSet TechO { get; set; }

    }

    }

    Класс TechO является основным классом системы. 

    Ниже приведен код данного класса на алгоритмическом языке C#.

    namespace Epas

    {

    using System;

    using System.Collections.Generic;

    public partial class TechO

    {

    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]

    public TechO()

    {

    this.RegWork = new HashSet();

    }

    public int Id { get; set; }

    public string Number { get; set; }

    public string Series { get; set; }

    public System.DateTime ProductionTime { get; set; }

    public System.DateTime GarantTime { get; set; }

    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]

    public virtual ICollection RegWork { get; set; }

    }

    }

    Далее приведен исходный код класса объектов, содержащих информацию о

    проведении регламентных работ.
    namespace Epas

    {

    using System;

    using System.Collections.Generic;

    public partial class RegWork

    {

    public int WId { get; set; }

    public string Title { get; set; }

    public string Time { get; set; }

    public string EngineerFIO { get; set; }

    public int Cost { get; set; }

    public int TechO_Id { get; set; }

    public virtual TechO TechO { get; set; }

    }

    }

    2. Свойством навигации класса EPas является

    public virtual ICollection RegWork { get; set; }

    Данное свойство содержит коллекцию объектов, содержащих информацию о

    проведении всех регламентных работ.

    Свойством навигации класса RegWork является

    public virtual TechO TechO { get; set; }

    Данное свойство содержит ссылку на объект класса электронного паспорта, для которого выполнена данная регламентная работа.
    3 Далее представлен SQL код, определяющий структуру базы данных для

    хранения значений свойств (атрибутов) объектов сущностной модели полученный при помощи Frameworka (кликаем правой кнопкой мыши по модели и генерируем код):
    -- --------------------------------------------------

    -- Entity Designer DDL Script for SQL Server 2005, 2008, 2012 and Azure

    -- --------------------------------------------------

    -- Date Created: 06/04/2021 01:36:34

    -- Generated from EDMX file: C:\Users\Костя\source\repos\Epas\Model1.edmx

    -- --------------------------------------------------
    SET QUOTED_IDENTIFIER OFF;

    GO

    USE [Epasport];

    GO

    IF SCHEMA_ID(N'dbo') IS NULL EXECUTE(N'CREATE SCHEMA [dbo]');

    GO
    -- --------------------------------------------------

    -- Dropping existing FOREIGN KEY constraints

    -- --------------------------------------------------
    IF OBJECT_ID(N'[dbo].[FK_TechORegWorks]', 'F') IS NOT NULL

    ALTER TABLE [dbo].[RegWork] DROP CONSTRAINT [FK_TechORegWorks];

    GO
    -- --------------------------------------------------

    -- Dropping existing tables

    -- --------------------------------------------------
    IF OBJECT_ID(N'[dbo].[RegWork]', 'U') IS NOT NULL

    DROP TABLE [dbo].[RegWork];

    GO

    IF OBJECT_ID(N'[dbo].[TechO]', 'U') IS NOT NULL

    DROP TABLE [dbo].[TechO];

    GO
    -- --------------------------------------------------

    -- Creating all tables

    -- --------------------------------------------------
    -- Creating table 'RegWork'

    CREATE TABLE [dbo].[RegWork] (

    [WId] int NOT NULL,

    [Title] nvarchar(max) NOT NULL,

    [Time] nvarchar(max) NOT NULL,

    [EngineerFIO] nvarchar(max) NOT NULL,

    [Cost] int NOT NULL,

    [TechO_Id] int NOT NULL

    );

    GO
    -- Creating table 'TechO'

    CREATE TABLE [dbo].[TechO] (

    [Id] int NOT NULL,

    [Number] nvarchar(max) NOT NULL,

    [Series] nvarchar(max) NOT NULL,

    [ProductionTime] datetime NOT NULL,

    [GarantTime] datetime NOT NULL

    );

    GO
    -- --------------------------------------------------

    -- Creating all PRIMARY KEY constraints

    -- --------------------------------------------------
    -- Creating primary key on [WId] in table 'RegWork'

    ALTER TABLE [dbo].[RegWork]

    ADD CONSTRAINT [PK_RegWork]

    PRIMARY KEY CLUSTERED ([WId] ASC);

    GO
    -- Creating primary key on [Id] in table 'TechO'

    ALTER TABLE [dbo].[TechO]

    ADD CONSTRAINT [PK_TechO]

    PRIMARY KEY CLUSTERED ([Id] ASC);

    GO
    -- --------------------------------------------------

    -- Creating all FOREIGN KEY constraints

    -- --------------------------------------------------
    -- Creating foreign key on [TechO_Id] in table 'RegWork'

    ALTER TABLE [dbo].[RegWork]

    ADD CONSTRAINT [FK_TechORegWorks]

    FOREIGN KEY ([TechO_Id])

    REFERENCES [dbo].[TechO]

    ([Id])

    ON DELETE NO ACTION ON UPDATE NO ACTION;

    GO
    -- Creating non-clustered index for FOREIGN KEY 'FK_TechORegWorks'

    CREATE INDEX [IX_FK_TechORegWorks]

    ON [dbo].[RegWork]

    ([TechO_Id]);

    GO
    -- --------------------------------------------------

    -- Script has ended

    -- --------------------------------------------------


    написать администратору сайта