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文件中添加映射表就可以了。

  • 相关阅读:
    【mysql】八、mysql的学习---查询缓存
    【mysql】七、mysql的学习---应用优化
    【mysql】六、mysql的学习---SQL优化
    【mysql】五、mysql的学习---存储引擎
    【mysql】四、mysql的学习---触发器
    【mysql】三、mysql的学习---存储过程和函数
    【mysql】二、mysql的学习---视图
    server --SSD中,SATA,m2,PCIE和NVME各代表了什么,关系是什么
    windows--禁用驱动程序强制签名
    linux --kernel 和 OS 的关系区别
  • 原文地址:https://www.cnblogs.com/yxys/p/5284082.html
Copyright © 2011-2022 走看看