中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ADO.NET實體數據模型怎么實現

發布時間:2021-12-02 16:00:27 來源:億速云 閱讀:226 作者:iii 欄目:編程語言

這篇文章主要講解了“ADO.NET實體數據模型怎么實現”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“ADO.NET實體數據模型怎么實現”吧!

ADO.NET是.NET與數據庫互操作的核心,而ADO.NET實體數據庫則增強了.NET應用程序與數據庫的互聯能力,通過ADO.NET實體數據模型我們可以很方便的與底層數據庫進行強類型的數據互操作。大大的方便了設計人員,從而也提高了數據庫操作的安全性。最近在使用到Silverlight的領域數據服務時遇到一個很特別的問題[在應用程序中的結果和數據庫的結果不一樣],經過反復的試驗,終于找到了問題的根源,那就是ADO.NET實體數據模型依賴于實體鍵,它的查詢會生成實體鍵的唯一結果集。

現在來看看具體的操作過程和處理方式:

為了對數據庫的表進行操作,在數據庫的視圖中建立了一個連接兩個原子表的 vw_DesksAndUsers 的視圖,這個視圖旨在為了連接已存在的User表和Desk的數據,于是我做了如下的T-SQL的視圖,如下所示:

ADO.NET實體數據模型怎么實現

在SQL Server 2008中得到的查詢結果如下:

ADO.NET實體數據模型怎么實現

也就是說得到了預期的結果,[這一步很成功]。接下來進行第二步。

第二步:新建一個Silverlight商業應用程序SilverlightDomainDb,在生成的項目中會支持WCF RIA服務。這是對Silverlight領域服務的支持所必須的。

第三步:在Web項目中添加一個ADO.NET實體數據模型的新項,在向導中選擇相應的數據庫連接和數據表、視圖及存儲過程等,完成以后會生成相應的實體數據類型和上下文,并得到.edmx的模型圖。如下所示:

ADO.NET實體數據模型怎么實現

根據Visual Studio 2010的提示,它為我們生成了兩個實體鍵:DeskId,IsPlaying(這是Desk表中的兩個字段);現在重新生成項目。

第四步:根據實體模型添加Web領域服務項。(在這一步需要添加相應的表和元數據信息)

第五步:Silverlight項目中將數據源所在vw_DesksAndUsers 的Datagrid拖到Home.xaml中,完成、調試。并沒有得到上面的結果,而是生成了如下的Datagrid:

ADO.NET實體數據模型怎么實現

經過仔細的觀察,才發現原來是ADO.NET實體數據模型中的結果集依賴于實體鍵,也就是說Silverlight領域服務會根據實體鍵的唯一生成查詢的結果集,于是就產生了上面的以DeskId為唯一鍵的數據。

處理:

根據以上的分析,要得到預期的結果,必須設置合適的實體鍵,為了不至于影響到底層的SQL數據庫,我們只需要修改.edmx模型圖中的的實體鍵即可(點擊右鍵選中或不選中“實體鍵”):

ADO.NET實體數據模型怎么實現

現在重新生成項目并運行程序,程序得到了預期的結果。

ADO.NET實體數據模型怎么實現

Silverlight商業應用程序作為一個專為數據顯示而生的模板,為數據庫的呈現提供了友好的界面,由于其優化的數據庫的處理方式使得我們在使用時不得不考慮一些它們之間的細微差別[由于在Visual Studio中沒能看到有LINQ生成的T—SQL查詢語句,所以我也只是提供了一個簡單的解決方案而已],我想其深層的原因在于LINQ查詢中生成的T-SQL語句與數據庫中的T-SQL語句不同而產生。 

感謝各位的閱讀,以上就是“ADO.NET實體數據模型怎么實現”的內容了,經過本文的學習后,相信大家對ADO.NET實體數據模型怎么實現這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阜城县| 常山县| 宁乡县| 阿克| 沽源县| 佳木斯市| 崇文区| 西安市| 株洲市| 仪征市| 武清区| 阳朔县| 行唐县| 梓潼县| 扎鲁特旗| 建水县| 长治县| 亳州市| 汶川县| 栾城县| 常州市| 嘉祥县| 余江县| 兴安县| 利辛县| 塘沽区| 桦南县| 尚志市| 梅河口市| 阿克苏市| 尖扎县| 庆云县| 乐都县| 遂溪县| 化隆| 济源市| 蒙城县| 北辰区| 巨野县| 高雄县| 丰城市|