C#连接数据库 —— (二)Linq To EF 的 lambda表达式使用 ,增删查改、判断、分组、排序

如果不知道如何创建实体框架(EF)的伙伴,也不想上网查找资料 . . .
可以看下面这篇文章:
C#连接数据库 —— (一)实体框架(EF)的创建 (Linq To EF)


Linq 使用

首先,我们创建数据库实体对象(下面的所有操作都用到这个对象):

var DataModelsDb = new DbTrainEntities();
  1. 查询所有数据(对应SQL语句中的 in,这个例外):
var ttlist = from cc in DataModelsDb.CheZhan select cc;

foreach (var item in ttlist)
{
    Console.WriteLine(item.ZhanMing + " " + item.PinYin);
}

在这里插入图片描述

  1. 搜索数据(Lambda初使用):
var listData = DataModelsDb.CheZhan.Where(p => p.ZhanMing == "阿尔山").
                Select(p => p.ZhanMing + " " + p.PinYin).ToList();

foreach (var item in listData)
{
    Console.WriteLine(item);
}

在这里插入图片描述

  1. 插入数据:
CheZhan cheZhan = new CheZhan()
{
    ZhanMing = "giaogiao",
    PinYin = "giaogiao",
    WeiDu = (decimal)32.232,
    JingDu = (decimal)323.23,
    DiZhi = "常州"
};

DataModelsDb.CheZhan.Add(cheZhan);
DataModelsDb.SaveChanges();		// 更新到数据库中

插入完成后,自己可到 SQL Server中查看 . . .

.

  1. 删除数据:
// 查找第一个名字为 giaogiao 的数据,将它删除
var rowData = DataModelsDb.CheZhan.Where(p => p.ZhanMing ==
 	"giaogiao").FirstOrDefault();
DataModelsDb.CheZhan.Remove(rowData);
DataModelsDb.SaveChanges();

删除完成后,自己可到 SQL Server中查看 . . .
.

  1. 修改数据:
// 查找到需要修改的那条数据
var rowData = DataModelsDb.CheZhan.Where(p => p.ZhanMing ==
	 "giaogiao").FirstOrDefault();
rowData.WeiDu = 555;		// 直接修改属性
DataModelsDb.SaveChanges();

修改完成后,自己可到 SQL Server中查看 . . .

.

  1. 判断存在:
// 查找是否所有数据都有该元素
var yesOrNo = DataModelsDb.CheZhan.All(p => p.ZhanMing == "阿尔山");

// 查找是否有数据含有该元素
//var yesOrNo = DataModelsDb.CheZhan.Any(p => p.ZhanMing == "阿尔山");

Console.WriteLine(yesOrNo);

在这里插入图片描述

  1. 数据分组:
var groupBy = DataModelsDb.CheZhan.GroupBy(p => p.ZhanMing).ToList();

foreach (var item in groupBy)
{
    Console.WriteLine("Name: {0} \t Num: {1}", item.Key, item.Count());
}

在这里插入图片描述

  1. 获取指定数据的个数:
var count = DataModelsDb.CheZhan.Count(p => p.ZhanMing == "阿尔山");

Console.WriteLine(count);

在这里插入图片描述

  1. 获取排序后的数据:
var order = DataModelsDb.CheZhan.OrderBy(p => p.JingDu).ToList();

foreach (var item in order)
{
    Console.WriteLine("Name: {0} \t Num: {1}", item.ZhanMing, item.JingDu);
} 

在这里插入图片描述

基本常用的方法也就这些,如果需要其它的方法可以在MSDN中查阅 . . .

猜你喜欢

转载自blog.csdn.net/weixin_42100963/article/details/105989997
今日推荐