ASP.NET通过EntityFramework CodeFirst创建数据库
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创建数据库的更多相关文章
- EF CodeFirst 创建数据库
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 话说EF支持三种模式:Code First M ...
- NetCore2.0下使用EF CodeFirst创建数据库
本文所使用的VS版本:VS2017 15.3.0 首先新建一个.net core项目 取名NetCoreTask 使用模型视图控制器方式 新建Model层 在Model层下新建一个user实体类 1 ...
- ASP.NET Core 2.2 WebApi 系列【二】使用EF CodeFirst创建数据库
Code First模式 Code First是指"代码优先"或"代码先行". Code First模式将会基于编写的类和配置,自动创建模型和数据库. 一.准备 ...
- 使用EF CodeFirst 创建数据库
EntityFramework 在VS2015添加新建项时,选择数据->ADO.NET 实体数据模型,有一下选项 来自数据库的EF设计器,这个就是我们最常用的EntityFramework设计模 ...
- EntityFramework之创建数据库及基本操作(一)
那时学EF的时候还没有Code First,只有DB First,生成的是一个EDMX文件,Code First则没有这文件,下面直接上代码吧 数据库创建以及建表 1.首先我们新建一个新项目,使用Nu ...
- 使用CodeFirst创建数据库
1.新建一个类库项目 2.右键管理Nuget程序包,搜索EntityFramework.然后安装 3.新建一个类,然后引用 using System.Data.Entity; 然后写类初始化方法(ba ...
- .net core2.0 codefirst 创建数据库的问题!
appsettings.json和Startup.cs就不记录了,网上很多!! 1.必须在有DbContext类的项目里添加这3个NuGet引用 Microsoft.EntityFrameworkCo ...
- 【无私分享:ASP.NET CORE 项目实战(第四章)】Code First 创建数据库和数据表
目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 本章我们来介绍下Asp.net Core 使用 CodeFirst 创建数据库和表,通过 控制台 和 dotnet ef 两种 ...
- EF CodeFirst 如何通过配置自动创建数据库<当模型改变时>
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 本篇为进阶篇,也是弥补自己之前没搞明白的地方,惭愧 ...
随机推荐
- 【Hadoop离线基础总结】oozie调度shell脚本
目录 1.解压官方提供的调度案例 2.创建工作目录 3.拷贝任务模板到工作目录当中去 4.随意准备一个shell脚本 5.修改模板下的配置文件 6.上传调度任务到hdfs上面去 7.执行调度任务 1. ...
- FOC 转子初始位置检测(图文详解)
本文介绍了PMSM的转子初始位置的各种情况: 文章目录 1 什么是转子的初始位置? 2 如何让转子运行到初始位置? 3 iq=IDC;id=0;θ=0i_{q}=I_{DC} ;i_{d}=0;\th ...
- Mac 安装实用开发软件和日常软件清单
软件安装 开发需要安装软件 HomeBrew 这个是 mac 的软件包管理软件,类似于 yum 安装 rpm 包会帮我们处理软件包之间的依赖关系一样,或者 apt-get 安装 deb 包,最开始接触 ...
- 检查点,Block块,参数化
l 检查点:每次运行时检查服务器返回的数据是否正确,节省人工检查的时间(压测中数据传输次数过多,页面可能会产生传递混乱) l 检查点函数:web_find l 检查点类型:文本检查点:图片检查点 l ...
- PAT 1002 A+B for Polynomials (25分)
题目 This time, you are supposed to find A+B where A and B are two polynomials. Input Specification: E ...
- SpringCloud Netflix (五) : Hystrix 服务熔断和服务降级
什么是Hystrix 在分布式环境中,许多服务依赖项中的一些服务依赖不可避免地会失败.Hystrix是一个库,通过添加延迟容忍和容错逻辑,帮助您控制这些分布式服务之间的交互.Hystrix通过隔离服务 ...
- phantomJS安装出错解决办法
解决办法:https://github.com/xhlwill/blog/issues/11
- React:Element
React Elements 是构成React App的最小单位.React中的组件是由一个或多个Elements构成的. 和DOM不同,React Elements 是纯粹的JS对象.利用React ...
- 5.8 Go 单元测试
5.8 Go 单元测试 如果你不想后半生的美好时光都在寻找BUG中度过,那么必须写些程序用来检测产品代码的结果和预期的一样. Go语言的测试依赖于go test测试命令和一组按约定方式编写的测试函数, ...
- 最小比率树 poj2728
以下内容均为转载 http://www.cnblogs.com/ftae/p/6947497.html poj2728(最小比率生成树) poj2728 题意 给出 n 个点的坐标和它的高度,求一 ...