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

溫馨提示×

溫馨提示×

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

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

ADO.NET Entity Framework的常見問題有哪些

發布時間:2021-06-17 14:09:56 來源:億速云 閱讀:165 作者:chen 欄目:編程語言

這篇文章主要講解了“ADO.NET Entity Framework的常見問題有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“ADO.NET Entity Framework的常見問題有哪些”吧!

ADO.NET Entity有很多值得學習的地方,這里我們主要介紹ADO.NET Entity,包括介紹ADO.NET Entity等方面。看看下圖,解決方案里包括兩個Project:EFDemo.Console 和 EFDemo.Models 。這里我把EDM都放在 EFDemo.Models Class Library里。在 EFDemo.Models Class Library 中添加一個"ADO.NET Entity Data Model" 項,名為"UserModel"。 通過向導配置連接等操作后就會創建一個EDM。EDM包括三個文件(.csdl、.msl 和.ssdl 文件)。

創建完EDM后會在配置文件(這里是App.Config)的節點里添加一些信息。如例子中創建UserModel.edmx后會在配置文件中添加一個子節點:

  1. <connectionStrings>   

  2. <add name="UserEntities" connectionString="metadata=.\UserModel.csdl|.\UserModel.ssdl|.\UserModel.msl;  

  3. provider=System.Data.SqlClient;provider connection string="Data Source=xxxxxx;Initial Catalog=SAASDB;
    Persist Security Info=True;User ID=sa;Password=xxx;MultipleActiveResultSets=False"" providerName="System.Data.EntityClient" /> 
    connectionStrings> 

注意突出顯示在這里指定這三個文件的位置,".\"表示Build后這三個文件會被部署到"Build Output Path"位置。回到例子中,EFDemo.Console Project 引用 EFDemo.Models Project,這樣就可以在 EFDemo.Console Project 中使用 UserModel 了,寫完代碼后,把上面配置文件信息Copy到EFDemo.Console Project 的App.config中, Ctrl + F5 運行,發現出現下面錯誤信息:

System.Data.MetadataException: The specified metadata path is not valid.  A valid path must be either an existing directory, an existing file with extension '.csdl',   '.ssdl', or '.msl', or a URI that identifies an embedded resource.

明顯看出是找不到UserModel.csdl、UserModel.ssdl和UserModel.msl這三個文件,到EFDemo.Console的Build Output Path中看確實沒有。有一種解決方法是,每次Build完EFDemo.Models Project后,Copy這三個文件到EFDemo.Console Project的bin里,但是這種做法明顯不是***的。

可以通過以下的配置來更好的解決這問題。

1.打開UserModel Model的屬性面板,設置“Metadata Artifact Processing ” 選項的值為“Embed in Output Assembly ”。表示這三個文件會被嵌入到Assembly里。

2. 打開UserModel.edmx項的屬性面板,確認Build Action值為"EntityDeploy"。以上配置完成之后配置文件中的UserEntities節點值自動改為:

  1. <connectionStrings> <add name="UserEntities" connectionString="metadata=res://*/UserModel.csdl|res:
    //*/UserModel.ssdl|res://*/UserModel.msl;provider=System.Data.SqlClient;provider connection string="
    Data Source=xxxxxx;Initial Catalog=SAASDB;Persist Security Info=True;User ID=sa;Password=xxx;MultipleActiveResultSets=False"
    "
     providerName="System.Data.EntityClient" /> connectionStrings> 

注意看突出顯示的"metadata=res://*/UserModel.csdl|res: //*/UserModel.ssdl|res://*/UserModel.msl"。"*"表示它會去所有的Aseembly中找這三個被嵌入在 Assembly中的文件。當然如果我們明確知道這三個文件放在EFDemo.Models.dll 這個Assembly中的話,應該指定只在該Assembly中找,而不要浪費時間在所有Assembly中找:

  1. <connectionStrings> <add name="UserEntities" connectionString="metadata=res://EFDemo.Models/UserModel.csdl|res:
    //EFDemo.Models/UserModel.ssdl|res://EFDemo.Models/UserModel.msl;provider=System.Data.SqlClient;provider connection 
    string="Data Source=xxxxxx;Initial Catalog=SAASDB;Persist Security Info=True;User ID=sa;Password=xxx;
    MultipleActiveResultSets=False""
     providerName="System.Data.EntityClient" /> connectionStrings> 

把這些配置信息更新到EFDemo.Console Project 的App.config中,Ctrl + F5, 運行正常。

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

向AI問一下細節

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

AI

怀集县| 东台市| 黑山县| 历史| 铁岭县| 深水埗区| 龙井市| 固镇县| 韩城市| 隆安县| 宿松县| 廊坊市| 汝州市| 眉山市| 屏东县| 简阳市| 安远县| 襄垣县| 汝南县| 金川县| 双桥区| 隆德县| 富民县| 甘泉县| 汉川市| 浏阳市| 集安市| 平乡县| 华亭县| 临沭县| 晋州市| 巫山县| 满城县| 始兴县| 阜城县| 南漳县| 阿克陶县| 唐河县| 迁安市| 西昌市| 南通市|