新聞中心
升級(jí)到ADO.NET Entity Framework Beta3時(shí),一般使用DataAdapter(也可能是CommandBuilder)與數(shù)據(jù)源交互,用DataView對(duì)DataSet中的數(shù)據(jù)進(jìn)行排序和過(guò)濾。DataSet可以被繼承來(lái)建立強(qiáng)化類型的DataSet,用于暴露表、行、列作為強(qiáng)化類型對(duì)象屬性。

成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括迪慶州網(wǎng)站建設(shè)、迪慶州網(wǎng)站制作、迪慶州網(wǎng)頁(yè)制作以及迪慶州網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,迪慶州網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到迪慶州省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
在ADO.NET Entity Framework Beta3中,New一個(gè)"ADO.NET Entity Data Model"。打開生成的SSDL文件,隨便看一個(gè)EntitySet節(jié)點(diǎn):
Name="Tenant" EntityType="SAASModel.Store.Tenant"> - SELECT
- [Tenant].[TenantId] AS [TenantId],
- [Tenant].[TenantName] AS [TenantName],
- [Tenant].[DisplayName] AS [DisplayName],
- [Tenant].[Approved] AS [Approved],
- [Tenant].[CreateDate] AS [CreateDate],
- [Tenant].[EndDate] AS [EndDate],
- .......
- FROM
- [dbo].[Tenant] AS [Tenant]
看看上面突出顯示的"[dbo].[Tenant] AS [Tenant]",注意這里多出了"[dbo]"前綴。再來(lái)看看創(chuàng)建上面的EDM后會(huì)在config里生成的節(jié)點(diǎn):
name="UserRightEntities" connectionString="metadata=res://*/ - UserRight.csdl|res://*/UserRight.ssdl|res://*/UserRight.msl;provider=System.Data.SqlClient;provider connection string="
- Data Source=xxxxserver;Initial Catalog=xxxx;Persist
- Security Info=True;User ID=sa;Password=xxxxxx;MultipleActiveResultSets=False"" providerName="System.Data.EntityClient" />
OK, 現(xiàn)在我在數(shù)據(jù)庫(kù)中創(chuàng)建了一個(gè)用戶:Inrie, 然后以這個(gè)用戶的身份創(chuàng)建一個(gè)Tenant表。這時(shí)候數(shù)據(jù)庫(kù)中就有兩個(gè)Tenant表:[dbo].[Tenant]和[inrie].[Tenant]。
通常情況下,我們都認(rèn)為:通過(guò)設(shè)置連接字符串的User ID的值,ADO.NET Entity Framework Beta3訪問(wèn)EDM獲取到的數(shù)據(jù)應(yīng)該就是當(dāng)前用戶下表的數(shù)據(jù)。也就是我設(shè)置User Id=inrie, 我就希望我得到的是[inrie].[Tenant]表的數(shù)據(jù)。
但是看看最上面生成的EntitySet信息,發(fā)現(xiàn)它已經(jīng)自作主張的給你加了[dbo]前綴了,這樣導(dǎo)致你無(wú)論設(shè)置的User ID是什么值,獲取到的都是[dbo].[Tenant]的數(shù)據(jù)。
對(duì)此,我在想是否可以在創(chuàng)建 "ADO.NET Entity Data Model" 時(shí)做一些設(shè)置,使得不生成這個(gè)。#t#
是查看了所有屬性,沒(méi)有很好對(duì)策。ADO.NET Entity Framework Beta3當(dāng)然要想實(shí)現(xiàn)需求也不是沒(méi)有辦法,可以手動(dòng)的把"[dbo]"前綴去掉,但是這畢竟不是根本上的解決方法。
分享文章:詳解介紹升級(jí)后的ADO.NETEntityFrameworkBeta3
瀏覽地址:http://www.5511xx.com/article/djeiccp.html


咨詢
建站咨詢
