zoukankan      html  css  js  c++  java
  • 简单MVC+EF框架搭建

    搭建一个简单的MVC+EF框架

    首先下图是该实例的结构。

    结构搭建好后,就从写实体开始

    在DataInfo文件中写表实体:

    namespace DataInfo.DataInfos
    {
        [DataContract]
        public class BookInfo
        {
            public BookInfo()
            {
                Id = Guid.Empty;
                BookName = string.Empty;
                BookPrice = string.Empty;
            }
            /// <summary >
            /// Id
            /// </summary> 
            [DataMember]
            public Guid Id { set; get; }
    
            /// <summary >
            /// BookName
            /// </summary> 
            [DataMember]
            public string BookName { set; get; }
    
            /// <summary >
            /// BookPrice
            /// </summary> 
            [DataMember]
            public string BookPrice { set; get; }
        }
    }

    注:[DataContract]需要引用System.Runtime.Serialization.dll

    在BookMap文件中写mapping:

    namespace DataContext.Mapping
    {
        public class BookMap : EntityTypeConfiguration<BookInfo>
        {
            public BookMap()
            {
                //Primary Key               
                this.Property(t => t.Id).IsRequired();
                // Properties
                this.Property(t => t.BookName).IsRequired().HasMaxLength(1024);
                this.Property(t => t.BookPrice).IsRequired().HasMaxLength(1024);
                this.ToTable("table_book");
            }
        }
    }
    EntityTypeConfiguration<T>需要引用:EntityFramework.dll

    在DataContext文件中编写映射关系:

    namespace DataContext
    {
        public class DataContext : DbContext
        {
            public DbSet<BookInfo> BookInfos { get; set; }
    
            ///// <summary>
            ///// 映射表名
            ///// </summary>
            protected override void OnModelCreating(DbModelBuilder modelBuilder)
            {
                modelBuilder.Configurations.Add(new BookMap());
                base.OnModelCreating(modelBuilder);
            }
        }
    }

    注:必须要继承DbContext类。

    接下来就是在MVC项目中使用EF了。

    在需要使用EF的地方创建一个属性:

    public DataContext.DataContext DataContext
    {
        get
        {
            return new DataContext.DataContext();
         }
    } 
    using(var db=DataContext)
    {
         var query = db.BookInfos.FirstOrDefault(p=>p.BookName=="语文");//查找名称为‘语文’的一条数据
    }

    若要添加表,就在DataContext、DataInfo中相应位置添加表,在DataContext文件中添加映射表就可以了。

  • 相关阅读:
    尚硅谷韩顺平Linux教程学习笔记
    第15章 自动编码器
    问题总结
    日常问题记录
    SQLServer日常bug记录
    .NetCore使用NLog写入数据库总结
    C#操作XML文档
    C#中的 ?/?:/?? 三者的区别及用法
    git 命令从入门到放弃
    通过反射技术获得类中的所有属性
  • 原文地址:https://www.cnblogs.com/yxys/p/5284082.html
Copyright © 2011-2022 走看看