EF的常用知识积累

对于EF的操作,其经验积累如下。

EF中使用SQL语句或存储过程

1、无参数查询
var model = db.Database.SqlQuery<UserInfo>("select* from UserInfoes ").ToList();

2、有参查询
var model = db.Database.SqlQuery<UserInfo>("select* from UserInfoes where id=@ID ",new SqlParameter("@ID",id)).ToList();

3、结合linq查询

var model = (from p in db.userinfo.SqlQuery("select * from UserInfoes where id=@ID", new SqlParameter("@ID", 1)) select p).ToList();

4:EF原始查询单独表

model = db.userinfo.OrderByDescending(a => a.ID).Skip(10 * (当前页 - 1)).Take(10).ToList();

5,EF 执行存储过程或delete 删除语句

SqlParameter[] para = new SqlParameter[] {
new SqlParameter("@ID",id)
};
db.Database.ExecuteSqlCommand("delete UserInfoes  where id=@ID", para);

存储过程 删除,有几个参数,存储后面要带几个参数以逗号分隔

SqlParameter[] para = new SqlParameter[] {
new SqlParameter("@ID",id)
};

////返回受影响的行数

db.Database.ExecuteSqlCommand("sp_Userinfos_deleteByID @ID", para);

////返回数据的集合
List<ActionUrl> dd02 = dbsql.Database.SqlQuery<ActionUrl>("exec getActionUrlId @name", parameters).ToList();//返回查询到的实体集合


6.CODE FIRST 迁移数据库时,可以根据NUGET中迁移报告直接对数据库进行更新升级即可。

CODE FIRST升级数据库时,只对最后一次升级有效,即若系统共更新了5次,则可以省略前四次,直接第五次即可,但若不依次进行,则前几次的更新未体现在数据库中,往往会导致程序不能正常运行。
CODE FIRST原则上以最新更新的数据库版本为准,但如果在更改数据库前未获取最新代码,则原来的更新未及时反映到数据库中,则会显示版本不对的。因此,更新数据库前,需要先获取最新代码,然后更新数据库,更新后立即上传代码。从而保证代码的一致性






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值