生活随笔
收集整理的這篇文章主要介紹了
ADO.NET Entity Framework Extensions 简单应用
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、情景
如果你的項(xiàng)目中有返回多結(jié)果集的存儲(chǔ)過(guò)程。
如果你的項(xiàng)目要和老項(xiàng)目中的ADO.Net共用事務(wù)。
如果你要?jiǎng)討B(tài)的創(chuàng)建數(shù)據(jù)庫(kù)的表。
但是你還是希望使用Entity Framework。那么繼續(xù)往下看吧。
二、ADO.NET Entity Framework Extensions(下載地址)
1、引用EFExtensions.dll文件。
2、添加 using Microsoft.Data.Extensions; 的聲明。
三、EFExtensions執(zhí)行T-SQL語(yǔ)句
view sourceprint?
| 01 | public void ExecuteSQL(string sql) |
| 03 | ??? using (DBEntities db = new DBEntities()) |
| 05 | ??????? using (db.Connection.CreateConnectionScope()) |
| 07 | ??????????? var cmd = db.CreateStoreCommand("update Orders set Freight=8 where OrderID=10292", CommandType.Text); |
| 09 | ??????????? cmd.ExecuteNonQuery(); |
四、EFExtensions執(zhí)行存儲(chǔ)過(guò)程
?
view sourceprint?
| 01 | public DataSet ExecuteProcedure() |
| 03 | ??? using (DBEntities db = new DBEntities()) |
| 05 | ??????? var cmd = db.CreateStoreCommand("CustOrdersOrders", CommandType.StoredProcedure, new SqlParameter("CustomerID", "ALFKI")); |
| 07 | ??????? SqlDataAdapter da = new SqlDataAdapter(cmd as SqlCommand); |
| 08 | ??????? DataSet ds = new DataSet(); |
五、EFExtensions執(zhí)行T-SQL語(yǔ)句獲得實(shí)體集
view sourceprint?
| 1 | public IEnumerable<Orders> GetSQL() |
| 3 | ??? using (DBEntities db = new DBEntities()) |
| 5 | ??????? return db.CreateStoreCommand("select * from Orders", CommandType.Text).Materialize<Orders>(); |
六、讓EF與ADO.Net共享事務(wù)
view sourceprint?
| 01 | public void UseSameTran() |
| 03 | ??? using (var tran = new TransactionScope(TransactionScopeOption.Required)) |
| 05 | ??????? using (DBEntities db = new DBEntities()) |
| 07 | ??????????? using (db.Connection.CreateConnectionScope()) |
| 09 | ??????????????? Orders order = db.Orders.FirstOrDefault(o => o.OrderID == 10291); |
| 10 | ??????????????? order.Freight = 7; |
| 11 | ??????????????? db.SaveChanges(); |
| 13 | ??????????????? var cmd = db.CreateStoreCommand("update Orders set Freight=8 where OrderID=10292", CommandType.Text); |
| 15 | ??????????????? cmd.ExecuteNonQuery(); |
| 16 | ??????????????? tran.Complete(); |
七、查看Linq的T-SQL語(yǔ)句
view sourceprint?
| 1 | var q = from p in context.Products |
| 2 | ??????? where p.ProductName.StartsWith("Foo") |
| 6 | string commandText = ((ObjectQuery<Product>)q).ToTraceString(); |
| 9 | string commandText = q.ToTraceString(); |
八、結(jié)束語(yǔ)
?????? 用EF做項(xiàng)目,上面這些也都是容易碰到的不太好解決的問(wèn)題。Entity Framework Extensions都為我們解決了。
在下載的實(shí)例中還有一些其他的應(yīng)用。后面的就靠各位去發(fā)掘了吧。
轉(zhuǎn)載于:https://www.cnblogs.com/xtsjh/archive/2011/11/03/2234229.html
總結(jié)
以上是生活随笔為你收集整理的ADO.NET Entity Framework Extensions 简单应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。