首页 > 编程语言 >C# efcode 新建表格数据 增删改查

C# efcode 新建表格数据 增删改查

时间:2023-10-01 19:55:58浏览次数:42  
标签:TestDbContext Title C# ctx Price 改查 efcode Books new

using TestDbContext ctx = new TestDbContext();
var b1 = new Book
{
    AuthorName = "杨中科",
    Title = "零基础趣学C语言",
    Price = 59.8,
    PubTime = new DateTime()
};
var b2 = new Book
{
    AuthorName = "Robert Sedgewick",
    Title = "算法(第4版)",
    Price = 99,
    PubTime = new DateTime()
};
var b3 = new Book
{
    AuthorName = "吴军",
    Title = "数学之美",
    Price = 69,
    PubTime = new DateTime()
};
var b4 = new Book
{
    AuthorName = "杨中科",
    Title = "程序员的SQL金典",
    Price = 52,
    PubTime = new DateTime()
};
var b5 = new Book
{
    AuthorName = "吴军",
    Title = "文明之光",
    Price = 246,
    PubTime = new DateTime()
};
ctx.Books.Add(b1);
ctx.Books.Add(b2);
ctx.Books.Add(b3);
ctx.Books.Add(b4);
ctx.Books.Add(b5);
await ctx.SaveChangesAsync();

Console.WriteLine("-==============测试==============");
Console.WriteLine(long.MaxValue);

查询数据库

using TestDbContext ctx = new TestDbContext();
foreach (Book b in ctx.Books)
{
    Console.WriteLine($"Id={b.Id},Title={b.Title},Price={b.Price}");
}

Console.WriteLine("-==============测试==============");
Console.WriteLine(long.MaxValue);

条件查询

Console.WriteLine("***所有价格高于80元的书籍***");
IEnumerable<Book> books2 = ctx.Books.Where(b => b.Price > 80);
foreach (Book b in books2)
{
    Console.WriteLine($"Id={b.Id},Title={b.Title},Price={b.Price}");
}
//数据的插入
/*
using TestDbContext ctx = new TestDbContext();
var b1 = new Book{ AuthorName = "杨中科", Title = "零基础趣学C语言", 
    Price = 59.8, PubTime = new DateTime(2019, 3, 1) };
var b2 = new Book{ AuthorName = "Robert Sedgewick", Title = "算法(第4版)", 
    Price = 99, PubTime = new DateTime(2012, 10, 1) };
var b3 = new Book{ AuthorName = "吴军", Title = "数学之美", 
    Price = 69, PubTime = new DateTime(2020, 5, 1) };
var b4 = new Book{ AuthorName = "杨中科", Title = "程序员的SQL金典", 
    Price = 52, PubTime = new DateTime(2008, 9, 1) };
var b5 = new Book{ AuthorName = "吴军", Title = "文明之光", 
    Price = 246, PubTime = new DateTime(2017, 3, 1) };
ctx.Books.Add(b1);
ctx.Books.Add(b2);
ctx.Books.Add(b3);
ctx.Books.Add(b4);
ctx.Books.Add(b5);
await ctx.SaveChangesAsync();*/
//查询
/*
using TestDbContext ctx = new TestDbContext();
Console.WriteLine("***所有书籍***");
foreach (Book b in ctx.Books)
{
    Console.WriteLine($"Id={b.Id},Title={b.Title},Price={b.Price}");
}
Console.WriteLine("***所有价格高于80元的书籍***");
IEnumerable<Book> books2 = ctx.Books.Where(b => b.Price > 80);
foreach (Book b in books2)
{
    Console.WriteLine($"Id={b.Id},Title={b.Title},Price={b.Price}");
}*/
//Single、FirstOrDefault查询
/*
using TestDbContext ctx = new TestDbContext();
Book b1 = ctx.Books.Single(b => b.Title == "零基础趣学C语言");
Console.WriteLine($"Id={b1.Id},Title={b1.Title},Price={b1.Price}");
Book? b2 = ctx.Books.FirstOrDefault(b => b.Id == 9);
if (b2 == null)
{
    Console.WriteLine("没有Id=9的数据");
}
else
{
    Console.WriteLine($"Id={b2.Id},Title={b2.Title},Price={b2.Price}");
}*/
//排序
/*
using TestDbContext ctx = new TestDbContext();
IEnumerable<Book> books = ctx.Books.OrderByDescending(b => b.Price);
foreach (Book b in books)
{
    Console.WriteLine($"Id={b.Id},Title={b.Title},Price={b.Price}");
}*/
//GroupBy

using TestDbContext ctx = new TestDbContext();
var groups = ctx.Books.GroupBy(b => b.AuthorName)
    .Select(g => new { AuthorName = g.Key, BooksCount = g.Count(), MaxPrice = g.Max(b => b.Price) });
foreach (var g in groups)
{
    Console.WriteLine($"作者:{g.AuthorName},图书数量:{g.BooksCount},最高价格:{g.MaxPrice}");
}
//修改数据
/*
using TestDbContext ctx = new TestDbContext();
var b = ctx.Books.Single(b => b.Title == "数学之美");
b.AuthorName = "Jun Wu";
await ctx.SaveChangesAsync();
*/
//删除数据
/*
using TestDbContext ctx = new TestDbContext();
var b = ctx.Books.Single(b => b.Title == "数学之美");
ctx.Remove(b);//也可以写成ctx.Books.Remove(b);
await ctx.SaveChangesAsync();*/
/*
using TestDbContext ctx = new TestDbContext();
Book b = new Book
{
    AuthorName = "Zack Yang",
    Title = "Zack, Cool guy!",
    Price = 9.9,
    PubTime = new DateTime(2020, 12, 30)
};
ctx.Books.Add(b);
Console.WriteLine($"保存前,Id={b.Id}");
await ctx.SaveChangesAsync();
Console.WriteLine($"保存后,Id={b.Id}");*/

 

标签:TestDbContext,Title,C#,ctx,Price,改查,efcode,Books,new
From: https://www.cnblogs.com/zhulongxu/p/17739181.html

相关文章

  • springIoC
    IoC(控制反转):应用程序的依赖对象不自己创建和维护,交由统一的外部容器来创建和维护。这样控制权就由应用转移到外部容器。DI(依赖注入):通过IoC容器动态的向某个对象提供他需要的其他对象。 1..IoC容器的四种创建方式:ClassPathXmlApplicationContext:从项目的根目录下加载配置文件......
  • 开发者必看!苹果App Store重大调整:App上架必须有ICP备案号
    日前,苹果AppStore迎来重大调整,即日起中国大陆上架的App必须具备有效的互联网信息服务提供者(ICP)备案号。简单说,新App现在需要填写备案号才能提审,这就要求开发者应用需有备案号,另外,如果海外App不申请备案号,则无法在中国大陆上架。苹果AppStore部分App上架要求还包括:游戏App必须......
  • Codeforces 1278D 题解
    题目大意题目大意给你\(n\)(\(1\leqslantn\leqslant5\cdot10^5\))条线段\([l_1,r_1],[l_2,r_2],\cdots,[l_n,r_n]\)(\(1\lel_i<r_i\le2n\))。保证每条线段的端点为整数,且\(\foralli,j\)(\(i\nej\)),不存在\(l_i=l_j\)或\(r_i=r_j\),不存......
  • C++常见算法&数据结构模版
    各种常见算法&数据结构模板1.最长不下降子序列(LIS)1.1\(O(n^2)\)做法点击查看代码for(inti=1;i<=n;i++){ cin>>a[i]; dp[i]=1; } for(inti=1;i<=n;i++){ for(intj=1;j<i;j++){ if(a[i]>a[j]){ dp[i]=max(dp[i],dp[j]+......
  • 无涯教程-JavaScript - UPPER函数
    描述UPPER函数将文本转换为大写。语法UPPER(text)争论Argument描述Required/OptionalText您要转换为大写的文本。文本可以是引用或文本字符串。Required适用性Excel2007,Excel2010,Excel2013,Excel2016Example参考链接https://www.learnfk.com/javascri......
  • The 2022 ICPC Asia Shenyang Regional Contest
    C.ClampedSequence因为\(n\)的范围不大,并且可以猜到\(l,r\)中应该至少有一个在\(a_i,a_i-1,a_i+1\)上。所以直接暴力枚举\(l\)或\(r\)然后暴力的计算一下#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongusingvi=vector<int>;int32_tmain(){......
  • 视频监控/安防监控EasyCVR平台如何调取登录接口获取token?
    安防视频监控平台EasyCVR是一个具有强大拓展性、灵活的视频能力和轻便部署的平台。它支持多种主流标准协议,包括国标GB28181、RTSP/Onvif、RTMP等,还可以支持厂家的私有协议和SDK接入,例如海康Ehome、海大宇等设备的SDK。该平台不仅拥有传统安防视频监控的功能,还具备接入AI智能分析的......
  • 视频融合/监控汇聚平台EasyCVR助力AI算法智能防溺水,实现水域监管
    防溺水已经成为青少年安全教育的重要内容,同时也是社会各界共同承担的安全管理责任。特别是在夏季,随着天气逐渐转热,溺水事故也进入了危险期、易发期和高发期。传统的预防和管理方法主要通过日常宣传演讲和人工巡逻来提醒人们溺水的危害,但存在一些问题:1)缺乏有效的安全预警设施:当人......
  • C++ STL标准容器的特点和典型的使用场景
    概念和作用C++标准模板库(StandardTemplateLibrary,STL)提供了一组通用的模板类和函数,用于处理常见的数据结构和算法。STL中的标准容器是其中的重要组成部分,它们提供了不同的数据结构和操作方式,适用于各种不同的使用场景。说白了,就是每一种容器代表一种特定的数据结构。我们在学C......
  • 视频汇聚/视频融合平台EasyCVR不显示告警图片的解决方法
    安防视频监控平台EasyCVR是一个具有强大拓展性、灵活的视频能力和轻便部署的平台。它支持多种主流标准协议,包括国标GB28181、RTSP/Onvif、RTMP等,还可以支持厂家的私有协议和SDK接入,例如海康Ehome、海大宇等设备的SDK。该平台不仅拥有传统安防视频监控的功能,还具备接入AI智能分析的......