• 一步一步学EF系列2【最简单的一个实例】


    整个文章我都会用最简单,最容易让人理解的方式给大家分享和共同学习。(由于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/

  • 相关阅读:
    为什么java使用对象序列化到文件,打开之后是乱码,而且更换编码格式查看也不能正常显示呢
    String类能够导入IDEA,但是里面的构造方法无法使用,一直显示报错
    IDEA不能提示导入java.io.File类,但是自己手写import没问题,最后找到了问题所在
    扑克牌发牌,排序的功能实现
    TFS 生成定义
    Git-tfs工具
    日期和时间
    调用惯例
    优化查找和排序
    使用更好的库
  • 原文地址:https://www.cnblogs.com/sylone/p/6097193.html
Copyright © 2020-2023  润新知