EF是微软做出的一个专门对数据库表映射成对象的数据库框架,这样的好处就是我们对数据库表进行操作进而变成对对象进行操作。这种框架很好用,就像java里的hibernate框架一样,都是对数据库表进行映射然后操作。接下来我就说明一下EF框架在C#代码里关于增删改的写法(查写法过多,我打算把这个单独列出来)。
首先 我先说明一个万能用法
万能用法
可以从我写出的列子看出这种写法几乎包括了我这篇文章想要讲的所有,added(增加),Deleted(删除),Modified(更改)其他两个几乎用不上,也很少用就不讲了,想要知道的百度一下也可以。注意:当使用的时候你向表里传递的数据必须要有确定的主键,如果没有会报错的,这很容易理解,我们写Sql语句的时候where 后面还要有确定的值呢(当然排除你想把整个表相应的数据都换掉)。
下面开始说一下其他写法
增加
using (testEntities ef = new testEntities())
{
test_user user=new test_user()
{
id=1,
user_name="lv22",
user_pwd="123456",
sex_id=2
};
ef.test_user.Add(user);
ef.SaveChanges();
}
这种是比较简单也比较大众的写法(这个user表我的主键是id,自动增长)这里就可以看出尽管我传过去一个确定的id,数据库还是根据自动增长来执行不会使用我已经定义的主键(附加图片结果)
删除(Linq语句)
public bool DeleteSomeBody(string name)
{
using (FIRST_DBEntities fd = new FIRST_DBEntities())
{
//Linq 查询 - 自动转译 T-SQL 语句
var query = from item in fd.People
where item.Name == name
select item;
//查询到对象后,移除对象
foreach (var item in query)
{
fd.People.Remove(item);
break;
}
int t = fd.SaveChanges();
//大于 0 说明插入成功
if (t > 0) return true;
}
return false;
}
除了使用万能方法来写 还有就是用Linq语句来写,Linq语句我就不介绍了,想知道了解的猿们百度一下有很多介绍。
Linq对删改查都能使用,在增的方面我还没见过怎么使用,如果有人知道请在下方留言。
修改/更新(Linq语句)
public bool UpdateLiSi()
{
using (FIRST_DBEntities fd = new FIRST_DBEntities())
{
//Linq 查询 - 自动转译 T-SQL 语句
var query = from item in fd.People
where item.Name == "李四"
select item;
//查询到对象后,修改对象属性
foreach (var item in query)
{
item.Age = 30;
break;
}
int t = fd.SaveChanges();
//大于 0 说明插入成功
if (t > 0) return true;
}
return false;
}
这些就是我近期了解加上网(看视频)找的,可能不全,以后还会补充。