日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Entity Framework 6 Alpha 3为Code First提供对存储过程支持,并提供连接恢复功能

發(fā)布時間:2024/4/17 编程问答 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Entity Framework 6 Alpha 3为Code First提供对存储过程支持,并提供连接恢复功能 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Microsoft宣布Entity Framework 6 Alpha 3已 經(jīng)可以下載了,它現(xiàn)在支持通過Fluent API將Code First映射到對應(yīng)的新增、修改和刪除功能的存儲過程;添加了連接恢復(fù)功能;包含了來自iceclow和UnaiZorrilla的pull request內(nèi)容;并添加了新的DbContext的API,以允許你管理自己的事務(wù)。

根據(jù)Microsoft所說,這三種存儲過程在創(chuàng)建時需要遵循類似于<type_name>Insert,<type_name>Update 及<type_name>_Delete這樣的格式。另外,方法的參數(shù)名稱需要和屬性名稱相對應(yīng),新增和修改的存儲過程需要為每個屬性創(chuàng)建一 個對應(yīng)的參數(shù),除了那些標記為ID(Identity)及計算所得的屬性。而刪除的存儲過程則需要為實體(entity)的主鍵值創(chuàng)建一個對應(yīng)的參數(shù)。
讓我們看一看以下代碼片段:

public class Blog { public int BlogId { get; set; } public string Name { get; set; } public string Url { get; set; } }

對應(yīng)以上代碼的新增存儲過程看起來應(yīng)該是以下這樣:

CREATE PROCEDURE [dbo].[Blog_Insert] @Name varchar(max), @Url varchar(max) AS INSERT INTO [dbo].[Blogs] ([Name], [Url])VALUES (@Name, @Url)SELECT SCOPE_IDENTITY() AS BlogId

修改和刪除的存儲存儲過程則按照如下方式編寫:

CREATE PROCEDURE [dbo].[Blog_Update]
@BlogId int, @Name varchar(max), @Url varchar(max) AS UPDATE [dbo].[Blogs] ??SET [Name] = @Name, [Url] = @Url WHERE BlogId = @BlogId;
CREATE PROCEDURE [dbo].[Blog_Delete]@BlogId int ASDELETE FROM [dbo].[Blogs]WHERE BlogId = @BlogId

官方文檔詳細地介紹了所有可能的場景細節(jié)。

Entity Framework 6 Alpha 3加入了連接恢復(fù)功能,能夠從短暫的連接失敗中自動恢復(fù)。它的實現(xiàn)使用了IExecutionStrategy接口,而在其中的具體實現(xiàn)又使用到了IRetriableExecutionDector及IRetryDelayStrategy接口。

根據(jù)官方信息來源,Entity Framework將包含4個執(zhí)行策略(Execution Strategy),分別為 NonRetryingExecutionStrategy,DefaultSqlExecutionStrategy,ExecutionStrategy 和SqlAzureExecutionStrategy。

Entity Framework Alpha 3提供了一項功能,它是來自iceclow提交的一個pull request,允許你創(chuàng)建定制化的數(shù)據(jù)遷移操作,并在一個定制化遷移SQL腳本生成器中處理這些操作。Microsoft ADO.NET Entity Framework的項目經(jīng)理Rowan Miller已經(jīng)通過相關(guān)的代碼示例介紹了iceclow的實現(xiàn)方式。

Alpha 3也允許你使用來自UnaiZorrilla所 提交的pull request,它提供了一個可插式的復(fù)數(shù)化與單數(shù)化的服務(wù)。另一項所包含的功能是允許你通過使用 DbContext.Database.UseTransaction及DbContext.Database.BeginTransaction API管理你自己的事務(wù)。

轉(zhuǎn)載于:https://www.cnblogs.com/shihao/archive/2013/03/05/2945284.html

總結(jié)

以上是生活随笔為你收集整理的Entity Framework 6 Alpha 3为Code First提供对存储过程支持,并提供连接恢复功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。