1.数据库和模型同步的方法:在 .edmx文件点开,右键--》从数据库更新模型。
在模型中更新数据模型结构后,右键更新数据库并执行新生成的脚本(只有在数据不重要的情况下才可以做这样的操作)。
2.EF修改数据库的语句范例:
增加ADO.NET实体数据模型后:
ItcastDbEntities dbContext = new ItcastDbEntities();
T_News news = new T_News();//model定义一个实例
dbContext.Entry<T_News>(news).Property<string>(u => u.ImagePath).IsModified = true;
3.Linq 语句范例:
var temp = from u in dbContext.T_News
where u.Id > 5
select u;
foreach (var mx in temp)
{
Console.WriteLine(mx.Id + " " + mx.ImagePath);
}
4.一个很好的linq解决case when的问题
var query = from c
in
Sell
select
new
{
SellMode = NumberConverter(c.SellMode);
}
public
int
NumberConverter(
int
sellMode)
{
switch
(sellMode)
{
case
1
return
sellMode;
case
2
return
0 - sellMode;
default
:
return
0;
}
}
5.逆变(关键是看谁在用),协变:都是为了安全使用方便。编译阶段补充完成代码
6.linq to ef:(1).查询是在数据库端执行查询是在数据库端进行过滤
var temp= from u in t_users
where u.id>4
select u;
(2)在内存里面过滤
List temp= from u in t_user.toList()
将查询结果保存到内存里