zoukankan      html  css  js  c++  java
  • 一步一步学EF系列一【最简单的一个实例】

    整个文章我都会用最简单,最容易让人理解的方式给大家分享和共同学习。(由于live Writer不靠谱 又得补发一篇)


    一、安装

       Install-Package EntityFramework

    二、简单例子演示

    /// <summary>
        /// 博客用户及随笔类
        /// </summary>
        public class BlogUser
        {
            /// <summary>
            /// 默认情况下属性被命名为ID、id或者[ClassName]Id,将映射为数据表中的主键
            /// 如果没有类似的命名,并且也未显示指明主键,则生成失败,引发异常
            /// </summary>
            public int BlogUserId { get; set; }
            public string BlogName { get; set; }
    
            /// <summary>
            /// 定义博客用户的随笔列表
            /// virtual表示该列表为延迟加载
            /// </summary>
            public virtual ICollection<Post> Posts { get; set; }
        }
    
        public partial class Post
        {
            /// <summary>
            /// 随笔的主键id
            /// </summary>
            public int PostId { get; set; }
            //  随笔的标题
            public string PostTitle { get; set; }
            /// <summary>
            /// 操作人
            /// </summary>
            public int BlogUserId { get; set; }
            /// <summary>
            /// 延迟加载博客用户
            /// </summary>
            public virtual BlogUser BlogUser { get; set; }
        }

    定义了两个实体,功能很简单,记录每个用户的随笔。 BlogUser 博客用户表 Post 随笔表

    三、创建DbContext

    public class BlogDbContext : DbContext, IDisposable
     {
            public BlogDbContext()
                : base()
            { }
           //实体集合
            public IDbSet<BlogUser> BlogUsers { get; set; }
           public IDbSet<Post> Posts { get; set; }
    }

    也很简单,就把两个实体加入进来

    以上三步最初级的功能就完成了。

    四、演示

    public ActionResult Index()
            {
                var   db= new BlogDbContext();
    
                //向数据库添加记录
                var blogUser = new BlogUser() { BlogUserId = 1, BlogName = "STONE" };
                db.BlogUsers.Add(blogUser);
                var post = new Post()
                {
                    PostId = 1,
                    PostTitle = "代码改变世界",
                    BlogUserId = 1
                };
                db.Posts.Add(post);
                //保存记录,返回受影响的行数
                int recordsAffected = db.SaveChanges();
                return View(db.Posts.ToList());
    
            }

    db.BlogUsers.Add(mode); 就是增加一条博客账号信息。然后把信息显示出来

    页面的代码

    <table border="1">
                <tr>
                    <td>
    
                        发布人姓名
                    </td>
                    <td>
                        随笔标题
    
                    </td>
                </tr>
    
    
                @foreach (var item in Model)
                {
                    <tr>
                        <td>@item.BlogUser.BlogName</td>
                        <td>@item.PostTitle</td>
                    </tr>
    
                }
    </table>

    前端运行后的效果

    image_thumb

    在查看数据库,已经自动创建了两张表

    image_thumb1

    image_thumb2

    在看看主外键关系也已经创建好了。

    以上都是最最基础的东西,自己先动手做一次,至于里面的所有细节,后面的将继续讲解

    第一次发布这个格式还不太会调整

    大家也可以加入QQ群进行交流(435498053)。轻松做生意外贸软件

    作者:STONE刘先生 出处:http://www.cnblogs.com/liupeng/

    本文版权归作者和博客园共有,欢迎转载。未经作者同意下,必须在文章页面明显标出原文链接及作者,否则保留追究法律责任的权利。
    如果您认为这篇文章还不错或者有所收获,可以点击右下角的【推荐】按钮,因为你的支持是我继续写作,分享的最大动力!

    以最简单的方式让大家学会EF

  • 相关阅读:
    vs2013配置opencv2.4.13(txt中复制粘贴即可,一次配置永久使用)
    描述性统计量
    Ubuntu创建、删除文件与目录
    Linux下服务器端开发流程及相关工具介绍(C++)
    TCP 协议如何保证可靠传输
    真实记录疑似Linux病毒导致服务器 带宽跑满的解决过程
    Windbg程序调试--转载
    原来问题在这里-我的memory leak诊断历程
    用WinDbg分析Debug Diagnostic Tool生成的Userdump文件
    一个内存增长问题的分析和处理(三)
  • 原文地址:https://www.cnblogs.com/liupeng/p/4797235.html
Copyright © 2011-2022 走看看