成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

基于ADO.NET Entity Framework問題解決方案

開發 后端
文章就開發基于ADO.NET Entity Framework的程序時,通常都是把EDM ( 實體數據模型 ) 單獨放在的一個Class Library里。在發布該Class Library時需要注意一些事項,否則可能會出現些問題。

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> 

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

  1. System.Data.MetadataException: The specified metadata path is not valid.  
  2. A valid path must be either an existing directory, an existing file with extension '.csdl',   
  3. '.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, 運行正常。

責任編輯:田樹 來源: 博客
相關推薦

2009-12-22 14:46:09

ADO.NET Ent

2009-12-30 14:03:36

ADO.NET Ent

2009-11-03 16:27:43

ADO.NET Ent

2009-12-30 10:14:41

ADO.NET Ent

2009-12-22 17:14:37

ADO.NET Ent

2009-12-23 16:00:50

ADO.NET Ent

2009-12-30 09:10:04

ADO.NET Ent

2009-12-23 16:15:24

ADO.NET Ent

2009-12-23 17:39:16

ADO.NET解決方案

2009-12-22 16:03:34

ADO.NET Ent

2010-04-20 09:40:38

ADO.NET Ent

2009-09-04 14:52:03

ADO.NET Ent

2009-09-03 16:09:48

.net回車符

2012-05-09 10:08:41

跨機房

2009-12-31 14:56:36

ADO.NET Ent

2009-07-23 16:53:17

ASP.NET中文變問

2010-09-27 13:14:42

JVM內存限制

2010-03-30 16:04:34

Linux Nginx

2009-12-30 10:43:31

ADO.NET Ent

2009-12-18 14:37:56

ADO.NET模型
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩中文字幕 | 欧美日韩高清在线一区 | 欧美一区二区在线观看 | 国产女人与拘做受视频 | 免费一区 | 国产精品久久久久久久午夜片 | 成人精品一区二区三区中文字幕 | 日本午夜免费福利视频 | 日韩视频一区二区三区 | 美女国内精品自产拍在线播放 | 91麻豆产精品久久久久久 | 一区二区三区在线 | 欧 | 国产精品久久久久久 | 日韩av一区二区在线观看 | 欧美日韩三级在线观看 | 久久国产精99精产国高潮 | 国产91在线 | 欧美 | av网站免费在线观看 | 成人网视频 | 在线看h | 一区二区视频 | 国产91久久精品一区二区 | 亚洲综合在线一区二区 | 日韩国产三区 | 欧美黄在线观看 | 欧美日韩亚洲二区 | 午夜二区 | av毛片| 日韩一区中文字幕 | 欧美中文字幕 | 羞羞视频免费观 | 一区二区三区av | 91精品入口蜜桃 | 色综合一区二区 | 亚洲一区二区在线播放 | 久久久国产一区二区三区 | 亚洲人在线播放 | 热re99久久精品国99热观看 | 久久久久久久一区二区三区 | 黑色丝袜三级在线播放 | 国产三区精品 |