88bifa必发唯一官网 4

88bifa必发唯一官网大咖自动忽略,不可能加载钦赐的元数据能源

最近在做一个新项目开发时,碰到了下面这个问题.在使用EF时,提示错误信息

       修改了ef项目的连接字符串后,运行程序出现
“无法加载指定的元素数据资源”

1.连接字符串

To continue using Database First or Model First
ensure that the Entity Framework connection string is specified in the
config file of executing application.To use these
classes, that were generated from Database First or Model First, with
Code First add any additional configuration using attributes or the
DbModelBuilder API and then remove the code that throws this
exception.

      88bifa必发唯一官网 1

一般项目在本地开发可能会用到windows验证,但是服务器上却使用sql
server身份验证,可能会出现如下错误。

在网上也找了一些回复,但是基本都没有说明怎么解决的,我在这里说一下,

原因是连接字符串中csdl/.ssdl/.msl三个文件的路径没有修改

用户 ‘NT AUTHORITY\NETWORK SERVICE’
登录失败

这个原因是因为WEB.Config中配置的连接字符串决定的.不同的连接字符串是不一样的

连接前的字符串:

 

下面这种字符串是CODE First的,

<add name=”UserRightContext” connectionString=”metadata=res://*/UserRight.csdl|res://*/UserRight.ssdl|res://*/UserRight.msl;provider=System.Data.SqlClient;provider connection string="Data Source=PC2012030213UMH\SQLEXPRESS;Initial Catalog=SjlFramework;User ID=sa;MultipleActiveResultSets=True"” providerName=”System.Data.EntityClient” />

再看看web.config配置的连接字符串

<add name=”XXXX”
providerName=”System.Data.SqlClient” connectionString=”Data
Source=XX.XX.X8.XX;Initial Catalog=XX;Persist Security Info=True;User
ID=XX;Password=XX;”/>

连接后的字符串:

88bifa必发唯一官网,<add name=”Letters_ManagementEntities”
connectionString=”metadata=res://*/Model.Letter.csdl|res://*/Model.Letter.ssdl|res://*/Model.Letter.msl;provider=System.Data.SqlClient;provider
connection string="Data
Source=.\sqlexpress;Initial Catalog=Letters_Management;Integrated Security=True;MultipleActiveResultSets=True;App=EntityFramework"”
providerName=”System.Data.EntityClient” />

通过EF同步数据库的类,应该使用下面这种链接字符串

 

 

<add name=”XX”
connectionString=”metadata=res://*/XX.csdl|res://*/XX.ssdl|res://*/XX.msl;provider=System.Data.SqlClient;provider
connection string="data source=XX.XX.XX.XX;initial
catalog=XX;persist security info=True;user
id=sa;password=XX;MultipleActiveResultSets=True;App=EntityFramework"”
providerName=”System.Data.EntityClient” />

88bifa必发唯一官网 288bifa必发唯一官网 3View Code

注意蓝色标注,它说明是windows验证,所以要sql
server身份验证就需要更改,大概就有如下更改

    <add name=”UserRightContext”
 connectionString=”metadata=res://*/App_Code.Model.csdl|res://*/App_Code.Model.ssdl|res://*/App_Code.Model.msl;provider=System.Data.SqlClient;provider connection string="Data Source=PC2012030213UMH\SQLEXPRESS;Initial Catalog=SjlFramework;Integrated Security=True;MultipleActiveResultSets=True"” providerName=”System.Data.EntityClient”/>

 

 

<add name=”Letters_ManagementEntities”
connectionString=”metadata=res://*/Model.Letter.csdl|res://*/Model.Letter.ssdl|res://*/Model.Letter.msl;provider=System.Data.SqlClient;provider
connection string="Data
Source=db.cloud.istudy.sh.cn;Initial
Catalog=Letters_Management;user
id=sa;password=Password01!;persist security info=True;MultipleActiveResultSets=True;App=EntityFramework"”
providerName=”System.Data.EntityClient” />

更改模型命名空间一定不要忘了在App.Config中更改.csdl/.ssdl/.msl三个文件的路径

 

 

 

2.css引用图片

如果服务器上只有一个项目则不管,但如果类似如下图的情况,就需要对图片连接进行更改

88bifa必发唯一官网 4

 

 

#logo {

                background-image:url(“../Images/logo.jpg”);

                width:100%;

                height:142px;

            }

这样的样式在本地没有问题,但是在部署到服务器上去出现404(找不到图片)

只要把它放在Global.css全局样式表中即可

 

 

3.js中引用的连接

在视图中往往有这样的连接

<a href=”~/home/writeletter”>书写信件</a>

连接中有”~”这个符号,但在js文件中却不能使用,所以需要使用另外的方式

url: “@Url.Action(“delete”,”home”,new{id=Model.ID})”

这样js中的连接也会自动转换了

相关文章