Mic*_*ail 3 c# sql-server entity-framework
我想使用构造函数进行数据库连接
DbContext(string nameOrConnectionString)
但我不想使用应用程序配置文件.像这样
配置文件中的行
<add name="DBEntities" connectionString="metadata=res://*/DB.csdl|
res://*/DB.ssdl|res://*/DB.msl;provider=System.Data.SqlClient;
provider connection string="data source=SERVER;
initialcatalog=DB;persist security info=True;
user id=XXX;password=YYY;MultipleActiveResultSets=True;
App=EntityFramework"" providerName="System.Data.EntityClient" />
Run Code Online (Sandbox Code Playgroud)
和代码行
public DBEntities() : base("name=DBEntities"){}
Run Code Online (Sandbox Code Playgroud)
我想直接在代码中想要这样的东西
public DBEntities() : base("connectionString=metadata=
res://*/DB.csdl|res://*/DB.ssdl|res://*/DB.msl;
provider=System.Data.SqlClient;provider connection string="
data source=SERVER;initial catalog=DB;
persist security info=True;
userid=XXX;password=YYY;MultipleActiveResultSets=True;
App=EntityFramework""){}
Run Code Online (Sandbox Code Playgroud)
如果我这样做,我有'System.ArgumentException':不支持关键字:'connectionstring'.
有可能的?怎么做我想要的?
这个问题似乎有两个方面:
connectionString在连接字符串中包含属性名称那么正确的代码应该变成:
public DBEntities()
: base("metadata=res://*/DB.csdl|res://*/DB.ssdl|res://*/DB.msl;provider=System.Data.Sq????lClient;provider connection string='data source=SERVER;initial catalog=DB;persist security info=True;userid=XXX;password=YYY;MultipleActiveResultSets=True;App=EntityFramew????ork'")
{}
Run Code Online (Sandbox Code Playgroud)
您可以在此处查看连接字符串所包含的元素的更多详细信息,此处了解有关实体框架连接字符串的更多详细信息.
旧的anwers,供参考:
问题似乎是你包含web.config用来定义连接字符串的所有内容.在您的情况下,连接字符串本身只是在属性connectionString之后的引号之间包含的内容data source=SERVER;initial catalog=DB;persist security info=True;userid=XXX;password=YYY;MultipleActiveResultSets=True;App=EntityFramework.
试试这个:
public DBEntities() : base("data source=SERVER;initial catalog=DB;
persist security info=True;
userid=XXX;password=YYY;MultipleActiveResultSets=True;
App=EntityFramework"){}
Run Code Online (Sandbox Code Playgroud)
此外,您可以在此处查看连接字符串所包含的元素的更多详细信息.
| 归档时间: |
|
| 查看次数: |
7614 次 |
| 最近记录: |