C# dataclassesdatacontext'不包含接受0个参数的构造函数?
这是我的DBML设计器代码C# dataclassesdatacontext'不包含接受0个参数的构造函数?,c#,asp.net,sql,linq,linq-to-sql,C#,Asp.net,Sql,Linq,Linq To Sql,这是我的DBML设计器代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.Linq; using System.Data.Linq.Mapping; using System.Linq; using System.Linq.Expressions; using System.Reflection; pu
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Linq;
using System.Data.Linq.Mapping;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
public partial class DataClassesDataContext : System.Data.Linq.DataContext
{
private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();
#region Extensibility Method Definitions
partial void OnCreated();
#endregion
public DataClassesDataContext(string connection) :
base(connection, mappingSource)
{
OnCreated();
}
public DataClassesDataContext(System.Data.IDbConnection connection) :
base(connection, mappingSource)
{
OnCreated();
}
public DataClassesDataContext(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) :
base(connection, mappingSource)
{
OnCreated();
}
public DataClassesDataContext(System.Data.IDbConnection connection, System.Data.Linq.Mapping.MappingSource mappingSource) :
base(connection, mappingSource)
{
OnCreated();
}
}
这是我的C代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.Linq;
public partial class Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void cmdLogin_Click(object sender, EventArgs e)
{
DataClassesDataContext db = new DataClassesDataContext();
}
}
当我写DataClassesDataContex db=newdataclassesdatacontex时;它将显示DataClassesDataContex不包含接受0个参数的构造函数?在类DataClassesDataContext中没有定义无参数构造函数。默认情况下,应生成另一个构造函数,该构造函数从应用程序设置获取连接字符串:
public DataClassesDataContext() :
base(global::Foo.Properties.Settings.Default.BarConnectionString,
mappingSource)
{
OnCreated();
}
但由于某种原因,它现在不见了。你可以:
尝试重新生成您的数据上下文可能是您错误地删除了此构造函数。为此,右键单击dbml文件并选择运行自定义工具。
创建分部类DataClassesDataContext并手动添加无参数构造函数
创建上下文实例时将连接字符串传递给构造函数
步骤:
记住您的dbml文件名并删除您的dbml文件。
然后在相同的位置添加一个具有相同以前名称的新dbml文件add->addnewitem->linqtoSQL类。
双击解决方案资源管理器中的dbml文件。
现在将所有表拖放到dbml的布局中。
最后,像前面所做的那样添加与表的所有关联。
我通过以下步骤修复了它: 删除dataclasses.dbml 打开你的Web.Config 删除:
<connectionString>
<add name="exampleDB" connectionString="Data Source=example;Initial
Catalog=example;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<assemblies>
<add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=D...8"/>
</assemblies>
删除:
<connectionString>
<add name="exampleDB" connectionString="Data Source=example;Initial
Catalog=example;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<assemblies>
<add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=D...8"/>
</assemblies>
你可以在
如果您有多个标记,则有多个到DB的连接
添加另一个示例。请再次添加表
创建一个新的datacontext对象
看看DataClassesDataContext——除非你有另一个文件包含一个带有额外构造函数的分部类,否则我看不到任何无参数构造函数。那么我该怎么办?嗯……使用DataClassesDataContext提供的四个构造函数之一?@AshokBhanwal:你向构造函数提供参数。如果您不确定如何做到这一点,我会暂时离开LINQ,学习C的核心部分-如果没有良好的C基础,尝试学习LINQ到SQL和ASP.NET将非常困难。您的DBML设计器代码非常糟糕。你的OnCreate方法在哪里@乔恩·斯基特,我同意你的看法