Number1

新建一个项目

给新项目添加一个实体数据模型



选择第三个

这里我创建两个有关系的类,也就是有外键关系的数据库表

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace WebApplication4
{
public class Cate
{
public int Id { get; set; }
public string Categories { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace WebApplication4
{
public class Port
{
public int Id { get; set; }
public string Title { get; set; }
public double Price { get; set; }
public string Desc { get; set; }
public virtual Cate Cate { get; set; }
}
}

创建完表,我们该添加数据了

先打开我们刚才的空CodeFirst模型

添加几行代码

Init()是我创建的一个类下一步的类

namespace WebApplication4
{
using System;
using System.Data.Entity;
using System.Linq; public class Model1 : DbContext
{
//您的上下文已配置为从您的应用程序的配置文件(App.config 或 Web.config)
//使用“Model1”连接字符串。默认情况下,此连接字符串针对您的 LocalDb 实例上的
//“WebApplication4.Model1”数据库。
//
//如果您想要针对其他数据库和/或数据库提供程序,请在应用程序配置文件中修改“Model1”
//连接字符串。
public Model1()
: base("name=Model1")
{
//数据库的初始化
Database.SetInitializer(new Init()); }
//两个集合,其实就是两个表内的数据
public virtual DbSet<Cate> Cates { get; set; }
public virtual DbSet<Port> Pords { get; set; }
//为您要在模型中包含的每种实体类型都添加 DbSet。有关配置和使用 Code First 模型
//的详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=390109。 // public virtual DbSet<MyEntity> MyEntities { get; set; }
} //public class MyEntity
//{
// public int Id { get; set; }
// public string Name { get; set; }
//}
}

新建一个类,添加数据,

using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web; namespace WebApplication4
{
public class Init:DropCreateDatabaseIfModelChanges<Model1>
{
protected override void Seed(Model1 context)
{ Cate c1 = new Cate
{
Categories = "蔬菜水果"
};
Cate c2 = new Cate
{
Categories = "蔬菜水果"
};
Port p = new Port
{
Title = "越南火龙果",
Price = 28,
Desc = "因食火龙果",
Cate = c1
};
Port p1 = new Port
{
Title = "进口蓝莓",
Price = 19.8,
Desc = "酸甜可口",
Cate = c1
};
Port p2 = new Port
{
Title = "越南火龙果",
Price = 28,
Desc = "因食火龙果",
Cate = c2
};
context.Cates.Add(c2);
context.Cates.Add(c1);
context.Pords.Add(p);
context.Pords.Add(p1);
context.Pords.Add(p2);
context.SaveChanges();
}
}
}

其实这里我们就创建完了

下面新建一个web窗体来显示

前台页面

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication4.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<th scope="col">编号</th>
<th scope="col">分类</th>
<th scope="col">产品</th>
<th scope="col">价格</th>
<th scope="col">介绍</th>
</tr>
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<tr>
<td><%# Eval("Id") %></td>
<td><%# Eval("Cate.Categories") %></td>
<td><%# Eval("Title") %></td>
<td><%# Eval("Price") %></td>
<td><%# Eval("Desc") %></td> </tr>
</ItemTemplate>
</asp:Repeater> </table>
</div>
</form>
</body>
</html>

后台页面

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; namespace WebApplication4
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
using (Model1 model = new Model1())
{
var list = model.Pords.Include("Cate").ToList();
Repeater1.DataSource = list;
Repeater1.DataBind();
}
}
}
}
}

效果图

完活,睡觉,(●ˇ∀ˇ●)

ASP.NET通过EntityFramework CodeFirst创建数据库的更多相关文章

  1. EF CodeFirst 创建数据库

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精    话说EF支持三种模式:Code First   M ...

  2. NetCore2.0下使用EF CodeFirst创建数据库

    本文所使用的VS版本:VS2017 15.3.0 首先新建一个.net core项目  取名NetCoreTask 使用模型视图控制器方式 新建Model层 在Model层下新建一个user实体类 1 ...

  3. ASP.NET Core 2.2 WebApi 系列【二】使用EF CodeFirst创建数据库

    Code First模式 Code First是指"代码优先"或"代码先行". Code First模式将会基于编写的类和配置,自动创建模型和数据库. 一.准备 ...

  4. 使用EF CodeFirst 创建数据库

    EntityFramework 在VS2015添加新建项时,选择数据->ADO.NET 实体数据模型,有一下选项 来自数据库的EF设计器,这个就是我们最常用的EntityFramework设计模 ...

  5. EntityFramework之创建数据库及基本操作(一)

    那时学EF的时候还没有Code First,只有DB First,生成的是一个EDMX文件,Code First则没有这文件,下面直接上代码吧 数据库创建以及建表 1.首先我们新建一个新项目,使用Nu ...

  6. 使用CodeFirst创建数据库

    1.新建一个类库项目 2.右键管理Nuget程序包,搜索EntityFramework.然后安装 3.新建一个类,然后引用 using System.Data.Entity; 然后写类初始化方法(ba ...

  7. .net core2.0 codefirst 创建数据库的问题!

    appsettings.json和Startup.cs就不记录了,网上很多!! 1.必须在有DbContext类的项目里添加这3个NuGet引用 Microsoft.EntityFrameworkCo ...

  8. 【无私分享:ASP.NET CORE 项目实战(第四章)】Code First 创建数据库和数据表

    目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 本章我们来介绍下Asp.net Core 使用 CodeFirst 创建数据库和表,通过 控制台 和 dotnet ef 两种 ...

  9. EF CodeFirst 如何通过配置自动创建数据库<当模型改变时>

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精    本篇为进阶篇,也是弥补自己之前没搞明白的地方,惭愧 ...

随机推荐

  1. 【Kafka】Producer API

    Producer API Kafka官网文档给了基本格式 地址:http://kafka.apachecn.org/10/javadoc/index.html?org/apache/kafka/cli ...

  2. MySQL基础总结(二)

    数据表的完整性约束条件 AUTO_INCREMENT (自增长) 注意事项: 1.一个表中只能有一个自增长字段 2.必须配合主键使用 方法1: 方法2: 方法3: 指定自增长初始值的方法: 修改自增长 ...

  3. Dotnet core使用JWT认证授权最佳实践(一)

    最近,团队的小伙伴们在做项目时,需要用到JWT认证.遂根据自己的经验,整理成了这篇文章,用来帮助理清JWT认证的原理和代码编写操作. 一.JWT JSON Web Token (JWT)是一个开放标准 ...

  4. 黑马程序员_毕向东_Java基础视频教程——转义字符(随笔)

    转义字符 转义字符 通过 \ 来转变后面的字母或符号的含义 \n :换行 \b :退格.相当于 backspace \r : 相当于回车键. Windows系统中,回车是由两个字符来表示 \r \n. ...

  5. Spark_Streaming整合Kafka

    Spark Streaming 整合 Kafka ​ 一.版本说明二.项目依赖三.整合Kafka        3.1 ConsumerRecord        3.2 生产者属性        3 ...

  6. Django之ORM执行原生sql语句

    django中的ORM提供的操作功能有限,在模型提供的查询API不能满足实际工作需要时,可以在ORM中直接执行原生sql语句. Django 提供两种方法使用原生SQL进行查询:一种是使用raw()方 ...

  7. python学习(12)使用正则表达式

    1.正则表达式知识 符号 解释 示例 说明 . 匹配任意字符 b.t 可以匹配bat / but / b#t / b1t等 \w 匹配字母/数字/下划线 b\wt 可以匹配bat / b1t / b_ ...

  8. 201771010128 王玉兰《面象对象程序设计 (Java) 》第六周学习总结

    ---恢复内容开始--- 第一部分:基础知识总结: 1.继承 A:用已有类来构建新类的一种机制,当定义了一个新类继承一个类时,这个新类就继承了这个类的方法和域以适应新的情况: B:特点:具有层次结构. ...

  9. 【python爬虫】scrapy实战1--百万微博任性采集

    原文: https://blog.csdn.net/qq_36936730/article/details/105132550

  10. java远程执行linux服务器上的shell脚本

    业务场景:需要从服务器A中新增的文件同步至本地服务器,服务器A中内存有限,需同步成功之后清除文件. Java调用远程shell脚本,需要和远程服务器建立ssh链接,再调用指定的shell脚本. 1.创 ...