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

时间:2023-03-10 07:42:07
一步一步学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 = , BlogName = "STONE" };
db.BlogUsers.Add(blogUser);
var post = new Post()
{
PostId = ,
PostTitle = "代码改变世界",
BlogUserId =
};
db.Posts.Add(post);
//保存记录,返回受影响的行数
int recordsAffected = db.SaveChanges();
return View(db.Posts.ToList()); }

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

页面的代码

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

前端运行后的效果

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

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

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

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

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

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

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

大家也可以加入QQ群进行交流(435498053)。一步一步学EF系列一【最简单的一个实例】

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

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

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