Eren Yatkin Ответов: 0

Как сначала создать представления с помощью кода entity framework


Здравствуйте, я пытаюсь создать представления для своего проекта. Я использую подход Code First, но у меня нет сопоставлений. Я провел некоторое исследование о том, что мне нужно, и наткнулся на использование инструмента Entity Framework Power Tool. После этого я не мог получить шагов о том, как это работает.

Кто-нибудь может мне помочь ?

Это код, который генерируют электроинструменты.

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

using System.Data.Entity.Infrastructure.MappingViews;

[assembly: DbMappingViewCacheTypeAttribute(
    typeof(Sumo.DM.Model.Model.DoorManagerEntities),
    typeof(Edm_EntityMappingGeneratedViews.ViewsForBaseEntitySets4332c576e0fed8ca0c588927df8a9a49b4a627193f51586d5bb54d8878d6bce1))]

namespace Edm_EntityMappingGeneratedViews
{
    using System;
    using System.CodeDom.Compiler;
    using System.Data.Entity.Core.Metadata.Edm;

    /// <summary>
    /// Implements a mapping view cache.
    /// </summary>
    [GeneratedCode("Entity Framework Power Tools", "0.9.0.0")]
    internal sealed class ViewsForBaseEntitySets4332c576e0fed8ca0c588927df8a9a49b4a627193f51586d5bb54d8878d6bce1 : DbMappingViewCache
    {
        /// <summary>
        /// Gets a hash value computed over the mapping closure.
        /// </summary>
        public override string MappingHashValue
        {
            get { return "4332c576e0fed8ca0c588927df8a9a49b4a627193f51586d5bb54d8878d6bce1"; }
        }

        /// <summary>
        /// Gets a view corresponding to the specified extent.
        /// </summary>
        /// <param name="extent">The extent.</param>
        /// <returns>The mapping view, or null if the extent is not associated with a mapping view.</returns>
        public override DbMappingView GetView(EntitySetBase extent)
        {
            if (extent == null)
            {
                throw new ArgumentNullException("extent");
            }

            var extentName = extent.EntityContainer.Name + "." + extent.Name;

            if (extentName == "CodeFirstDatabase.DM_AracHareket")
            {
                return GetView0();
            }



            return null;
        }

        /// <summary>
        /// Gets the view for CodeFirstDatabase.DM_AracHareket.
        /// </summary>
        /// <returns>The mapping view.</returns>
        private static DbMappingView GetView0()
        {
            return new DbMappingView(@"
    SELECT VALUE -- Constructing DM_AracHareket
        [CodeFirstDatabaseSchema.DM_AracHareket](T1.[DM_AracHareket.ID], T1.[DM_AracHareket.DM_FirmaAracID], T1.[DM_AracHareket.DM_AracSahibiPersonelID], T1.[DM_AracHareket.KayitTarihiCikis], T1.[DM_AracHareket.KayitTarihiGiris], T1.[DM_AracHareket.HareketSebebi], T1.[DM_AracHareket.AracKMCikis], T1.[DM_AracHareket.AracKMGiris], T1.[DM_AracHareket.Guzergah], T1.[DM_AracHareket.isDeleted], T1.[DM_AracHareket.AddedDate], T1.[DM_AracHareket.ModifiedDate])
    FROM (
        SELECT
 
            //I'll write my view here

            True AS _from0
        FROM DoorManagerEntities.DM_AracHareket AS T
    ) AS T1");
        }

        /// <summary>
        /// Gets the view for CodeFirstDatabase.DM_Personel.
        /// </summary>
        /// <returns>The mapping view.</returns>

    }
}


Что я уже пробовал:

Я попробовал использовать EF Power Tools, он создал класс PContext.Views.cs, я редактировал в нем коды. Но он не создавал представление в SQL Server.

njammy

Пожалуйста, обновите свой ответ кодом, который он создал, и у меня будет более подробная информация, чтобы ответить.

Eren Yatkin

Я разделил код, что EF инструмент мощность до

0 Ответов