// 实现对数据库的添加功能,添加实现EF框架的引用
40
41 public T AddEntity(T entity)
42
43 {
44
45 //EF4.0的写法 添加实体
46
47 //db.CreateObjectSet<T>().AddObject(entity);
48
49 //EF5.0的写法
50
51 db.Entry<T>(entity).State = EntityState.Added;
52
53
54
55 //下面的写法统一
56
57 db.SaveChanges();
58
59 return entity;
60
61 }
62
63
64
65 //实现对数据库的修改功能
66
67 public bool UpdateEntity(T entity)
68
69 {
70
71 //EF4.0的写法
72
73 //db.CreateObjectSet<T>().Addach(entity);
74
75 //db.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified);
76
77 //EF5.0的写法
78
79 db.Set<T>().Attach(entity);
80
81 db.Entry<T>(entity).State = EntityState.Modified;
82
83
84
85 return db.SaveChanges() > 0;
86
87 }
88
89
90
91 //实现对数据库的删除功能
92
93 public bool DeleteEntity(T entity)
94
95 {
96
97 //EF4.0的写法
98
99 //db.CreateObjectSet<T>().Addach(entity);
100
101 //db.ObjectStateManager.ChangeObjectState(entity, EntityState.Deleted);
102
103 //EF5.0的写法
104
105 db.Set<T>().Attach(entity);
106
107 db.Entry<T>(entity).State = EntityState.Deleted;
108
109
110
111 return db.SaveChanges() > 0;
112
113 }
114
115
116
117 //实现对数据库的查询 --简单查询
118
119 public IQueryable<T> LoadEntities(Func<T, bool> whereLambda)
120
121 {
122
123 //EF4.0的写法
124
125 //return db.CreateObjectSet<T>().Where<T>(whereLambda).AsQueryable();
126
127 //EF5.0的写法
128
129 return db.Set<T>().Where<T>(whereLambda).AsQueryable();
130
131 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端