EntityFramework数据持久化-多表查询、添加

本文介绍了如何使用EntityFramework进行Sql数据库的多表查询和数据添加操作。首先,创建了Catelog类别表和Aritcle文章表,并添加了数据。接着,在VS中创建ASP.NET Web应用程序,添加LINQ引用,建立ADO.NET实体数据模型。最后,通过创建web窗体和编写代码,展示了如何在.aspx和.aspx.cs文件中实现查询和添加功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


目的:实现简单的EF查询和添加
工具:Sql Server; Visual Studio 2017

一.Sql数据库、表的创建

创建 Catelog 类别表
字段名说明
id编号
name类别名称
comment类别说明
添加数据

在这里插入图片描述

创建 Aritcle 文章表
字段名说明
id编号
title文章标题
author作者
content文章内容
catelogid外键 类型id
添加数据

在这里插入图片描述

二.EF模型的建立及代码的编写

  • 打开vs创建ASP.Net Web 应用程序(.NET Framework)
  • 添加-引用-搜索linq(程序集)-全都勾选
  • 创建ADO.NET 实体数据模型
*d.创建web窗体
在 .aspx文件中添加以下代码
<body>
    <form id="form1" runat="server">
        <div>
            <table border="1">
            <tr>
                    <th>文章名字</th>
                    <th>作者</th>
                    <th>介绍</th>
                    <th>文章类型</th>
                </tr>
                    <asp:Repeater ID="Repeater1" runat="server">
                        <ItemTemplate> 
                            <tr>
                                <td><%# Eval("title") %></td>
                                <td><%# Eval("author") %></td>
                                <td><%# Eval("content") %></td>
                                <td><%# Eval("CatelogName") %>  </td>     
                            </tr>
                        </ItemTemplate>
                    </asp:Repeater>        
            </table>
            <asp:Button ID="Button1" runat="server" Text="添加" OnClick="Button1_Click" />
        </div>
    </form>
</body>

效果图
在这里插入图片描述

在 .aspx.cs文件中添加
  1. 选择button
  2. 右下角属性点击闪电标
  3. 双击click
		protected void Page_Load(object sender, EventArgs e)
        {
            MyDBEntities1 my = new MyDBEntities1();

            var result = from art in my.Aritcle
                         join Catelog in my.Catelog on art.catelogid equals Catelog.id
                         select new
                         {
                             Title = art.title,
                             Author = art.author,
                             Content = art.content,
                             CatelogName = Catelog.name
                         };
            this.Repeater1.DataSource = result.ToList();
            this.Repeater1.DataBind();
        }
		protected void Button1_Click(object sender, EventArgs e)
        {
            MyDBEntities1 my = new MyDBEntities1();

            Aritcle art = new Aritcle();
            art.id = 4;
            art.title = "de下雨了";
            art.author = "de黄少天";
            art.content = "de好烦";
            art.catelogid = 2;
            art.Catelog = new Catelog() { id = 5 };

            my.Aritcle.Add(art);
            my.SaveChanges();

            Catelog cat = new Catelog();
            //cat.id = 3;
            cat.name = "魔幻";
            cat.comment = "啦啦啦啦啦啦啦";

            my.Catelog.Add(cat);
            int count = my.SaveChanges();

            if (count >= 0)
            {
                Response.Write("添加成功");
            }

收工 然后就能运行了

ps:还有不会的请来骚扰我,来者不拒哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值