我有一个由4个项目组成的解决方案。商业自来水厂,DataAcess。我使用实体框架来处理数据库事务。我的要求是,我只想从MVC webconfig中获取实体连接字符串,而不引用访问层的APP.cofig。在这种情况下可能吗?
当我尝试下面的代码时,我得到了一个错误。
this.ConnectionString="data source=cmh-sosql;initial catalog=Student;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework";
System.Data.SqlClient.SqlConnectionStringBuilder scsb = new System.Data.SqlClient.SqlConnectionStringBuilder(this.ConnectionString);
EntityConnectionStringBuilder ecb = new EntityConnectionStringBuilder();
ecb.Metadata = "res://*/schoolModel.csdl|res://*/schoolModel.ssdl|res://*/schoolModel.msl";
ecb.Provider = "System.Data.SqlClient";
ecb.ProviderConnectionString = scsb.ConnectionString;
using (SchoolDB schoolDB = new SchoolDB(ecb.ConnectionString))错误:实体类型学生不是当前上下文的模型的一部分。
发布于 2012-12-16 13:10:31
你说的完全正确。我找到解决方案了。不需要在webconfig中保留任何字符串以引用实体模型。我们可以使用上面的代码来参考它。但更改是配置上下文对象。
public SchoolDB(string connectionString)
: base(connectionString)
{
}
We need to change the constructor also by this format. 感谢Sampath
https://stackoverflow.com/questions/13891601
复制相似问题