admin 管理员组文章数量: 1087131
.net之EF框架学习
1、EF(Entity Framework)实体框架EF是ADO.NET中的一组支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架。
2、什么是ORM?
ORM指的是面向对象的对象模型和关系型数据库的数据结构之间的互相转换。
(表实体跟表之间的相互转换)
ORM框架有很多,EF框架是ORM框架的其中一种,是实现了ORM思想的框架。
O=>表实体
M=>映射关系
R=>数据库.表
提示:需要ADO.Net实体模型
TextDBEntities tn = new TextDBEntities();//我的表为Text
查询方法:
//方法一//list = tn.Users.Where(a => (string.IsNullOrEmpty(UserNames) || a.UserName == UserNames) && (string.IsNullOrEmpty(Number) || a.Number == Number) && (types == 0 || a.chexTtype == types)).ToList();//方法二var list = (from it in tn.Userswhere (string.IsNullOrEmpty(UserNames) || it.UserName == UserNames) &&(string.IsNullOrEmpty(Number) || it.Number == Number) &&(types == 0 || it.chexTtype == types)select it).ToList();return list;//方法三//List<SqlParameter> Ulist = new List<SqlParameter>();//if (UserNames==null)//{// UserNames = "";//}//if (Number == null)//{// Number = "";//}//Ulist.Add(new SqlParameter("@UserNames", "%" + UserNames + "%"));//Ulist.Add(new SqlParameter("@Number", "%" + Number + "%"));//list = tn.Database.SqlQuery<Users>("select * from Users where UserName like @UserNames and Number like @Number", Ulist.ToArray()).ToList();
<span style="white-space:pre"> </span>//删除一//tn.Database.ExecuteSqlCommand("delete Users where id=@id",new SqlParameter("@id",id));//删除二//Users u = tn.Users.Where(a => a.Id == id).FirstOrDefault();//tn.Users.Remove(u);//删除三Users u = new Users() { Id = id };//tn.Users.Remove(u);//注意:这种直接集合方法不可以tn.Entry<Users>(u).State = System.Data.EntityState.Deleted;tn.SaveChanges()
更新方法:
//更新一//tn.Database.ExecuteSqlCommand("update Users set UserName=@UserName,Number=@Number,chexTtype=@chexTtype,Class=@Class where Id=@Id", // new SqlParameter("@UserName", us.UserName),// new SqlParameter("@Number", us.Number),// new SqlParameter("@chexTtype", us.chexTtype),// new SqlParameter("@Class", us.Class),// new SqlParameter("@Id", us.Id));//更新二//Users u = tn.Users.Where(a => a.Id == us.Id).FirstOrDefault();//u.UserName = us.UserName;//u.Number = us.Number;//u.chexTtype = us.chexTtype;//u.Class = us.Class;//把状态改为修改//tn.Entry<Users>(u).State = System.Data.EntityState.Modified;//更新三 (如果不传就会变成NUll)//Users u = new Users();//u.Id = us.Id;//u.UserName = us.UserName;//更新四Users u = new Users();u.Id = us.Id;u.UserName = us.UserName;u.Number = us.Number;u.chexTtype = us.chexTtype;u.Class = us.Class;var needen = tn.Entry<Users>(u);needen.State = System.Data.EntityState.Unchanged;tn.Entry<Users>(u).State = System.Data.EntityState.Modified;//表示我的model没有发生变化needen.Property("UserName").IsModified = true;needen.Property("Number").IsModified = true;needen.Property("chexTtype").IsModified = true;needen.Property("Class").IsModified = true;tn.SaveChanges();
本文标签: net之EF框架学习
版权声明:本文标题:.net之EF框架学习 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1687121284a66206.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论