一步一步学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/

posted @ 2016-11-24 11:47  在西天取经的路上……  阅读(233)  评论(0编辑  收藏  举报