我正在学习这个,所以请耐心等待...我正在尝试创建数据库对象来访问该表。
AppDatabaseDataContext appDb = new AppDatabaseDataContext();
这给了我一个错误,所以我创建了构造函数......
public AppDatabaseDataContext()
{
}
现在这告诉我System.Data.Linq.DataContext
不包含带0参数的构造函数。为什么?
谢谢!
答案 0 :(得分:3)
您需要指定连接字符串。如果您知道它总是相同的(例如,localhost),您可以在无参数构造函数中对其进行硬编码:
public AppDatabaseDataContext()
: this(@"Data Source=localhost;Initial Catalog=Foo;Integrated Security=True")
{
}
注意我们如何链接构造函数以调用使用连接字符串的版本。这样,您可以使用无参数构造函数实例化数据上下文,它将使用此默认连接字符串。
答案 1 :(得分:2)
有时LINQ2SQL可能会在属性窗口上变得混乱,连接字符串可能会消失。 如果可以,重新启动,删除de Dbml但不要忘记从web.config中删除连接字符串。将新的Linq2SQL添加到项目中,让LINQ2SQL在web.config中为U创建连接字符串。
答案 2 :(得分:0)
很奇怪。每次我使用" LINQ to SQL"在过去的DataContext中,它总是为我创建一个0参数构造函数。
但是今天,我发现有时候,在Designer中,它不会让我在“属性”窗口中选择一个特定的(已知的)连接字符串......当发生这种情况时,它拒绝创建这个0 -argument构造函数。
解决方案是自己手动添加。
我的web.config包含一个名为MikesConnectionString
的连接字符串:
<configuration>
<connectionStrings>
<add name="MikesConnectionString" connectionString="Data Source=localhost;Initial Catalog=MikesDatabase;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
...所以在我的 survey.designer.cs 文件中,我添加了这个:
public SurveyDataContext() :
base(global::System.Configuration.ConfigurationManager.ConnectionStrings["MikesConnectionString"].ConnectionString, mappingSource)
{
OnCreated();
}
完成工作。
但很奇怪。很奇怪。
答案 3 :(得分:-1)
Just Change your connection string just like
<connectionStrings>
<add name="DBLabConnectionString"
connectionString="Data Source=.\SQLExpress;Initial Catalog=DatabaseName;
Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>