对数据库记录进行更新操作(Insert、Delete、Updte),需要使用
DbSet 和 DbContext 这两个比较重要的类:
DbSet类:
Add (object entity)方法:
将指定的对象以Added状态添加到Contexnt中,当调用SaveChanges()方法时,将会被添加到数据库中
AddRange (System.Collections.IEnumerable entities)方法:
将给定的对象集合以Added状态添加到Contexnt中,当调用SaveChanges()方法时,将会被添加到数据库中
Remove (object entity):将给定的实体标记为Deleted,当调用SaveChanges()方法时,将会从数据库中删除
/// <summary>
/// 添加产品记录
/// </summary>
public static void AddProducts()
{
//1.准备需要添加的数据
Product product = new Product()
{
ProductName = "新月集·飞鸟集",
Price = 29,
ImageUrl = "images/飞鸟集.jpg",
Description = "世界文学巨匠、诺贝尔文学奖得主泰戈尔经典诗集"
};
using (CRMDBEntities cRMDBEntities = new CRMDBEntities())
{
var tran = cRMDBEntities.Database.BeginTransaction();//开启事务控制
try
{
cRMDBEntities.Product.Add(product);//2.设置数据插入操作
int result = cRMDBEntities.SaveChanges();//3.将更新提交到数据库
if (result > 0)//检查是否已成功添加
{
Console.WriteLine("数据已成功添加!");
}
tran.Commit();//提交事务
}
catch (Exception ex)
{
Console.WriteLine("数据添加失败!");
tran.Rollback();//回滚事务
}
}
}
批量添加记录:
/// <summary>
/// 批量添加产品数据
/// </summary>
public static void AddManyProducts()
{
//产品数据集合
List<Product> productList = new List<Product>() {
new Product(){ProductName="摩天沙发", Price=2888, ImageUrl="images/摩天沙发.jpg", Description="双人+双人+单人+单人+转角+脚踏",TypeId=5},
new Product(){ProductName="现代简约双层带抽茶几", Price=169, ImageUrl="images/茶几.jpg", Description="众淘电视柜",TypeId=5},
new Product(){ProductName="赛森儿童床", Price=609, ImageUrl="images/赛森儿童床.jpg", Description="带护栏单人床",TypeId=5},
new Product(){ProductName="枫尚晾衣架", Price=40, ImageUrl="images/枫尚晾衣架.jpg", Description="衣架落地凉晾衣杆室内挂衣架阳台简易衣帽架置物卧室晒衣架宿舍衣服架1105G",TypeId=5}
};
using (CRMDBEntities cRMDBEntities = new CRMDBEntities())
{
cRMDBEntities.Product.AddRange(productList);
bool result = cRMDBEntities.SaveChanges() > 0 ? true : false;
if (result)
{
Console.WriteLine("产品已批量添加!");
}
else
{
Console.WriteLine("产品添加失败!");
}
}
}