当前位置: 首页 > news >正文

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

转载于:https://www.cnblogs.com/yxys/p/5284082.html

相关文章:

  • android如何播放资源文件夹raw中的视频
  • mysql主从不同步时,怎么恢复
  • js 设置cookie--转
  • 我也想聊聊 OAuth 2.0 —— Access Token
  • SSH使用总结
  • linux - 怎么自动填写有交互的shell脚本 - SegmentFault
  • ExtJs一(Hello World)
  • Android之Activity的四种启动模式
  • jQuery zTree超链接展示--JSON数据
  • 驱动程序原理
  • Xeon 5000系列说起
  • iOS-----About Asset Catalog
  • SQL2008使用CTE递归查询批量插入500万数据
  • 在 Windows 上使用 Visual Studio 编译 CURL
  • Android生成表对应的类与访问表对应的类
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • CAP 一致性协议及应用解析
  • Cookie 在前端中的实践
  • Docker 笔记(2):Dockerfile
  • Git同步原始仓库到Fork仓库中
  • javascript 哈希表
  • JavaScript 奇技淫巧
  • JavaWeb(学习笔记二)
  • js ES6 求数组的交集,并集,还有差集
  • k8s如何管理Pod
  • Leetcode 27 Remove Element
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • MD5加密原理解析及OC版原理实现
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • Promise初体验
  • 给初学者:JavaScript 中数组操作注意点
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 记一次用 NodeJs 实现模拟登录的思路
  • 来,膜拜下android roadmap,强大的执行力
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 容器服务kubernetes弹性伸缩高级用法
  • 通过git安装npm私有模块
  • 微信小程序实战练习(仿五洲到家微信版)
  • 应用生命周期终极 DevOps 工具包
  • 最简单的无缝轮播
  • Android开发者必备:推荐一款助力开发的开源APP
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • #### go map 底层结构 ####
  • ###项目技术发展史
  • #1015 : KMP算法
  • #etcd#安装时出错
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • ${factoryList }后面有空格不影响
  • (20050108)又读《平凡的世界》
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (七)Java对象在Hibernate持久化层的状态