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

  • 相关阅读:
    家居有线网络布线方案(转)
    ARP、Tracert、Route 与 NBTStat 命令详解(转)
    集线器、路由器、交换机、第三层交换技术(转)
    C#版nbtstat
    交换机常见故障的一般分类和排障步骤(转)
    Women guojia keneng zai 2015 nian qianhou wancheng di yi ci xiandaihua(拼音化汉字)
    IPv6协议在各操作系统下的安装与配置(转)
    具有字典验证的记事本
    子网掩码计算方法(转)
    最后推荐一篇关于PreEcho的总结论文
  • 原文地址:https://www.cnblogs.com/yxys/p/5284082.html
Copyright © 2011-2022 走看看