ef数据持久化笔记-4-c#高级使用

本文探讨了如何利用Entity Framework高级特性执行SQL插入、更新和删除操作,包括正确处理不同类型的数据类型和参数传递。还涉及聚合查询、链表查询以及三层架构下数据展示的方法,以及数据库的最佳实践和代码示例。

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

ef高级使用
使用ExecuteSqlCommand执行增删改
添加

				string sql = $"insert into girl1907 values('{System.Guid.NewGuid().ToString("N")}','{DateTime.Now.ToString()}','{"李白"}','{"青莲剑仙"}')";
                int n = db.Database.ExecuteSqlCommand(sql);
                Console.WriteLine(n>0?"成功":"失败");

插入语句问题-变量问题
1,int类型不需要‘’引用
2,工作中,都是字符串uuid类型,都需要‘’
3,时间类型,字符串-需要加‘’
4,money-float-decimal
decimal来替代
并且不需要‘’
5,text类型代表无长度的字符串类型string
6,无论是否有默认值,都写上参数,除非只写入某项
修改

				string sql = $"update girl1907 set introduce = '{"天魔缭乱"}' where nickName = '{"吕布"}'";
                int n = db.Database.ExecuteSqlCommand(sql);
                Console.WriteLine(n>0?"成功":"失败");

删除

				string sql = $"delete from girl1907 where nickName = '{"吕布"}'";
                int n = db.Database.ExecuteSqlCommand(sql);
                Console.WriteLine(n>0?"成功":"失败");

聚合查询

				string sql = $"select count(*) from girl1907";
                DbRawSqlQuery<int> dbr = db.Database.SqlQuery<int>(sql);
                foreach (var item in dbr)
                {
                    Console.WriteLine(item);
                }

链表查询
创建类

	public class Allinfo:girl1907
    {
        public string bid { get; set; }
        public System.DateTime forinloveTime { get; set; }
        public string gid { get; set; }
        public string bName { get; set; }
        public string Likes { get; set; }
    }
				string sql = $"SELECT * FROM girl1907 g INNER JOIN ruj907bf r ON g.id = r.gid";
                DbRawSqlQuery<Allinfo> dbr = db.Database.SqlQuery<Allinfo>(sql);
                foreach (var item in dbr)
                {
                    Console.WriteLine(item.bid+" "+item.bName +" "+item.Likes +" "+item.nickName +" "+item.introduce);
                }

创建三层架构
显示数据

    <form id="form1" runat="server">
        <div>
            <asp:DataGrid runat="server" ID="datagrid1"></asp:DataGrid>
        </div>
    </form>
            if (!IsPostBack)
            {
                datagrid1.DataSource = BLL.rj1907BLL.SelectAll();
                datagrid1.DataBind();
            }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PROBIE_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值