Silverlight 4.0 System.Data.EntityClient未被代码识别,但被web.config识别
当我简单地运行这个项目时,数据是从服务器获取的,没有问题,但是需要在代码中包含连接字符串 根据网上的资料,我做了以下几点,但就是不能解决这个错误 错误 在配置中找不到指定的存储提供程序,或者该提供程序无效 域名服务Silverlight 4.0 System.Data.EntityClient未被代码识别,但被web.config识别,silverlight-4.0,entity-framework-4,connection-string,Silverlight 4.0,Entity Framework 4,Connection String,当我简单地运行这个项目时,数据是从服务器获取的,没有问题,但是需要在代码中包含连接字符串 根据网上的资料,我做了以下几点,但就是不能解决这个错误 错误 在配置中找不到指定的存储提供程序,或者该提供程序无效 域名服务 公共类域服务1:LinqToEntitiesDomainService { 公共覆盖无效初始化(DomainServiceContext上下文) { EntityConnectionStringBuilder=新的EntityConnectionStringBuilder(); bu
公共类域服务1:LinqToEntitiesDomainService
{
公共覆盖无效初始化(DomainServiceContext上下文)
{
EntityConnectionStringBuilder=新的EntityConnectionStringBuilder();
builder.Provider=“System.Data.EntityClient”;
builder.ProviderConnectionString=@“数据源=A-63A9D4D7E7834\THIRD;初始目录=EMPLOYEE;集成安全性=True;”;
builder.Metadata=string.Format(@“res://*/{0}.csdl)|
res://*/{0}.ssdl|
res://*/{0}.msl,“Model1”);
this.ObjectContext.Connection.ConnectionString=builder.ConnectionString;
初始化(上下文);
}
web.config
由于“System.Data.EntityClient”是许多名称空间/lib的组合,因此无法识别
正确的方法是
public IQueryable<Table1> GetTable1()
{
// Specify the provider name, server and database.
string providerName = "System.Data.SqlClient";
string serverName = @"A-63A9D4D7E7834\THIRD";
string databaseName = "EMPLOYEE";
// Initialize the connection string builder for the
// underlying provider.
SqlConnectionStringBuilder sqlBuilder =
new SqlConnectionStringBuilder();
// Set the properties for the data source.
sqlBuilder.DataSource = serverName;
sqlBuilder.InitialCatalog = databaseName;
sqlBuilder.IntegratedSecurity = true;
sqlBuilder.MultipleActiveResultSets=True;
// Build the SqlConnection connection string.
string providerString = sqlBuilder.ToString();
// Initialize the EntityConnectionStringBuilder.
EntityConnectionStringBuilder entityBuilder =
new EntityConnectionStringBuilder();
//Set the provider name.
entityBuilder.Provider = providerName;
// Set the provider-specific connection string.
entityBuilder.ProviderConnectionString = providerString;
// <add name="EMPLOYEEEntities" connectionString="metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=System.Data.SqlClient;provider connection string="Data Source=A-63A9D4D7E7834\THIRD;Initial Catalog=EMPLOYEE;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
// Set the Metadata location.
entityBuilder.Metadata = @"res://*/Models.Model1.csdl|
res://*/Models.Model1.ssdl|
res://*/Models.Model1.msl";
Console.WriteLine(entityBuilder.ToString());
// EntityConnection conn = new EntityConnection(entityBuilder.ToString());
/*
using (EntityConnection conn =
new EntityConnection(entityBuilder.ToString()))
{
conn.Open();
Response.Write("this is a web application");
Console.WriteLine("Just testing the connection.");
conn.Close();
}*/
this.ObjectContext.Connection.ConnectionString = entityBuilder.ToString();
// this.ObjectContext.Connection.Open();
// this.ObjectContext.Connection.BeginTransaction();
// this.ObjectContext.Table1.OrderBy(q => q.ID);
IQueryable<Table1> results = this.ObjectContext.Table1.OrderBy(q => q.ID);
// this.ObjectContext.Connection.Close();
return results;
}
public IQueryable GetTable1()
{
//指定提供程序名称、服务器和数据库。
string providerName=“System.Data.SqlClient”;
字符串serverName=@“A-63A9D4D7E7834\THIRD”;
字符串databaseName=“EMPLOYEE”;
//初始化的连接字符串生成器
//基础提供者。
SqlConnectionStringBuilder sqlBuilder=
新的SqlConnectionStringBuilder();
//设置数据源的属性。
sqlBuilder.DataSource=serverName;
sqlBuilder.InitialCatalog=数据库名称;
sqlBuilder.IntegratedSecurity=true;
sqlBuilder.MultipleActiveResultSets=True;
//构建SqlConnection字符串。
string providerString=sqlBuilder.ToString();
//初始化EntityConnectionStringBuilder。
EntityConnectionStringBuilder entityBuilder=
新EntityConnectionStringBuilder();
//设置提供程序名称。
entityBuilder.Provider=providerName;
//设置特定于提供程序的连接字符串。
entityBuilder.ProviderConnectionString=providerString;
//
//设置元数据位置。
entityBuilder.Metadata=@“res://*/Models.Model1.csdl|
res://*/Models.Model1.ssdl|
res://*/Models.Model1.msl”;
Console.WriteLine(entityBuilder.ToString());
//EntityConnection conn=新的EntityConnection(entityBuilder.ToString());
/*
使用(实体连接接头)=
新的EntityConnection(entityBuilder.ToString())
{
conn.Open();
Write(“这是一个web应用程序”);
WriteLine(“只是测试连接”);
康涅狄格州关闭();
}*/
this.ObjectContext.Connection.ConnectionString=entityBuilder.ToString();
//this.ObjectContext.Connection.Open();
//this.ObjectContext.Connection.BeginTransaction();
//this.ObjectContext.Table1.OrderBy(q=>q.ID);
IQueryable results=this.ObjectContext.Table1.OrderBy(q=>q.ID);
//this.ObjectContext.Connection.Close();
返回结果;
}
<connectionStrings>
<add name="EMPLOYEEEntities"
connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="Data Source=A-63A9D4D7E7834\THIRD;Initial Catalog=EMPLOYEE;Integrated Security=True;MultipleActiveResultSets=True""
providerName="System.Data.EntityClient" />
</connectionStrings>
public IQueryable<Table1> GetTable1()
{
// Specify the provider name, server and database.
string providerName = "System.Data.SqlClient";
string serverName = @"A-63A9D4D7E7834\THIRD";
string databaseName = "EMPLOYEE";
// Initialize the connection string builder for the
// underlying provider.
SqlConnectionStringBuilder sqlBuilder =
new SqlConnectionStringBuilder();
// Set the properties for the data source.
sqlBuilder.DataSource = serverName;
sqlBuilder.InitialCatalog = databaseName;
sqlBuilder.IntegratedSecurity = true;
sqlBuilder.MultipleActiveResultSets=True;
// Build the SqlConnection connection string.
string providerString = sqlBuilder.ToString();
// Initialize the EntityConnectionStringBuilder.
EntityConnectionStringBuilder entityBuilder =
new EntityConnectionStringBuilder();
//Set the provider name.
entityBuilder.Provider = providerName;
// Set the provider-specific connection string.
entityBuilder.ProviderConnectionString = providerString;
// <add name="EMPLOYEEEntities" connectionString="metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=System.Data.SqlClient;provider connection string="Data Source=A-63A9D4D7E7834\THIRD;Initial Catalog=EMPLOYEE;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
// Set the Metadata location.
entityBuilder.Metadata = @"res://*/Models.Model1.csdl|
res://*/Models.Model1.ssdl|
res://*/Models.Model1.msl";
Console.WriteLine(entityBuilder.ToString());
// EntityConnection conn = new EntityConnection(entityBuilder.ToString());
/*
using (EntityConnection conn =
new EntityConnection(entityBuilder.ToString()))
{
conn.Open();
Response.Write("this is a web application");
Console.WriteLine("Just testing the connection.");
conn.Close();
}*/
this.ObjectContext.Connection.ConnectionString = entityBuilder.ToString();
// this.ObjectContext.Connection.Open();
// this.ObjectContext.Connection.BeginTransaction();
// this.ObjectContext.Table1.OrderBy(q => q.ID);
IQueryable<Table1> results = this.ObjectContext.Table1.OrderBy(q => q.ID);
// this.ObjectContext.Connection.Close();
return results;
}