@[举个带参数设置的栗子](初识别 EF,简单的增删改查测试)
添加一个ado.net实体模型
下面来测试一下EF的增删改查
一定要注意表要设置主键,没有主键会报很多错误,修改和删除必须给主键设置值,他是根据主要来查找到这个值进行删除的。
测试类
static void Main(string[] args)
{
//Add();
//Modify();
//Delete1();
//Delete2();
//ModifyByUId();
//Query();
QueryByName();
Console.ReadKey();
}
增加操作
//增加一个实体类
public static void Add()
{
TUser user = new TUser();
user.UID = "ffff";//这个是主键
user.PWD = "123456";
user.Uname = "张三";
user.DepartMentID = "0001";
user.Enabled = 1;
user.CDT = "20190627115600";
using (TecBBSEntities dbContext = new TecBBSEntities())
{
dbContext.TUser.Add(user);
dbContext.SaveChanges();
}
}
修改操作
修改一定要设置主键的值
//增加一个实体类
public static void Modify()
{
TUser user = new TUser();
user.UID = "ljkwadj";
user.PWD = "123456";
user.Uname = "张三";
user.DepartMentID = "0001";
user.Enabled = 1;
user.CDT = "20190627115600";
using (TecBBSEntities dbContext = new TecBBSEntities())
{
dbContext.Entry(user).State =System.Data.Entity.EntityState.Modified;
dbContext.SaveChanges();
}
}
//更新单独的列======
public static void ModifyByUId()
{
TUser user = new TUser();
user.UID = "tttt";
user.PWD = "123456789";
using (TecBBSEntities dbContext = new TecBBSEntities())
{
dbContext.TUser.Attach(user);
dbContext.Entry<TUser>(user).Property<string>(u => u.PWD).IsModified = true;
dbContext.SaveChanges();
}
}
删除操作
public static void Delete1()
{
TUser user = new TUser();
user.UID = "ljkwadj";
using (TecBBSEntities dbContext = new TecBBSEntities())
{
dbContext.TUser.Attach(user);
dbContext.TUser.Remove(user);
dbContext.SaveChanges();
}
}
public static void Delete2()
{
TUser user = new TUser();
user.UID = "tttt";
using (TecBBSEntities dbContext = new TecBBSEntities())
{
dbContext.Entry(user).State = System.Data.Entity.EntityState.Deleted;
dbContext.SaveChanges();
}
}
查询操作
//查询全部
public static void Query()
{
using (TecBBSEntities dbContext = new TecBBSEntities())
{
var users = from p in dbContext.TUser select p;
foreach (TUser user in users)
{
Console.WriteLine("{0}-{0}-{1}-{2}-{3}", user.PID, user.UID, user.PWD, user.Uname);
}
}
}
//根据条件查询
public static void QueryByName()
{
using (TecBBSEntities dbContext = new TecBBSEntities())
{
var users = from p in dbContext.TUser where p.Uname=="周佳佳" select p;
foreach (TUser user in users)
{
Console.WriteLine("{0}-{0}-{1}-{2}-{3}", user.PID, user.UID, user.PWD, user.Uname);
}
}
}