C# 强类型数据上下文必须声明正文错误
收到此错误:C# 强类型数据上下文必须声明正文错误,c#,.net,datacontext,sqlconnection,C#,.net,Datacontext,Sqlconnection,收到此错误: Error 4 'ZoneUpdates.Models.PgeDataContext.PgeDataContext(string, System.Data.Linq.Mapping.MappingSource)' must declare a body because it is not marked abstract, extern, or partial C:\Code\ZoneUpdates\ZoneUpdates\Models\PgeDataContext.c
Error 4 'ZoneUpdates.Models.PgeDataContext.PgeDataContext(string, System.Data.Linq.Mapping.MappingSource)' must declare a body because it is not marked abstract, extern, or partial C:\Code\ZoneUpdates\ZoneUpdates\Models\PgeDataContext.cs 18 16 ZoneUpdates
Error 6 'ZoneUpdates.Models.ZoneObject.SendPropertyChanged(string)' must declare a body because it is not marked abstract, extern, or partial C:\Code\ZoneUpdates\ZoneUpdates\Models\PgeDataContext.cs 42 32 ZoneUpdates
这四个类之间基本上有13个错误(下面显示了两个)
我使用的是4.0,我基本上是从另一个项目复制并粘贴了这段代码,在那里它可以正常工作。我试着把课程改成部分课程,但没有效果。任何指点都很感激
[Database(Name = "Pge_Dev")]
public class PgeDataContext : DataContext
{
public PgeDataContext(IDbConnection connection);
public PgeDataContext(string dsn);
public PgeDataContext(
IDbConnection connection,
System.Data.Linq.Mapping.MappingSource mappingSource);
public PgeDataContext(
string connection,
System.Data.Linq.Mapping.MappingSource mappingSource);
public Table<ZoneObject> ZoneObject { get; set; }
public Table<ZoneObjType> ZoneObjType { get; set; }
public Table<ZoneTypeBridge> ZoneTypeBridge { get; set; }
}
[Table(Name = "dbo.ZoneObject")]
public class ZoneObject : INotifyPropertyChanging, INotifyPropertyChanged
{
public ZoneObject();
[Column(Storage = "ID", DbType = "Int NOT NULL")]
public int ID { get; set; }
[Column(Storage = "Name", DbType = "nvarchar(30)")]
public int Name { get; set; }
[Column(Storage = "Value", DbType = "bigint")]
public int Value { get; set; }
[Column(Storage = "CancurrencyID", DbType = "Int NOT NULL")]
public int ConcurrencyID { get; set; }
public event PropertyChangedEventHandler PropertyChanged;
public event PropertyChangingEventHandler PropertyChanging;
protected virtual void SendPropertyChanged(string propertyName);
protected virtual void SendPropertyChanging();
}
[数据库(Name=“Pge\u Dev”)]
公共类PgeDataContext:DataContext
{
公共PgeDataContext(IDbConnection);
公共PgeDataContext(字符串dsn);
公共PgeDataContext(
IDB连接,
System.Data.Linq.Mapping.MappingSource(映射源);
公共PgeDataContext(
字符串连接,
System.Data.Linq.Mapping.MappingSource(映射源);
公共表区域对象{get;set;}
公共表ZoneObjType{get;set;}
公共表ZoneTypeBridge{get;set;}
}
[表(Name=“dbo.ZoneObject”)]
公共类区域对象:INotifyPropertyChanged、INotifyPropertyChanged
{
公共区域对象();
[列(Storage=“ID”,DbType=“Int NOT NULL”)]
公共int ID{get;set;}
[列(Storage=“Name”,DbType=“nvarchar(30)”)]
公共int名称{get;set;}
[列(Storage=“Value”,DbType=“bigint”)]
公共int值{get;set;}
[列(Storage=“CancurrencyID”,DbType=“Int NOT NULL”)]
公共int并发ID{get;set;}
公共事件属性更改事件处理程序属性更改;
公共事件属性更改EventHandler属性更改;
受保护的虚拟空间SendPropertyChanged(字符串propertyName);
受保护的虚拟void SendPropertyChanging();
}
错误示例
无体构造函数
public PgeDataContext(IDbConnection connection);
=>您必须声明一个实体
public PgeDataContext(IDbConnection connection){ /*blibli*/ }
无体方法
public PgeDataContext(IDbConnection connection);
受保护的虚拟空间SendPropertyChanged(字符串propertyName)代码>
=>您必须声明非抽象、外部或部分方法的主体,如错误消息中所述
受保护的虚拟空间SendPropertyChanged(字符串propertyName){
/*布拉布拉*/
}
这显然是正确的答案,我只是在寻找是否还有其他可以让我做的事情,因为如前所述,这是从另一个项目中获得的。可能还有更多的代码要做,但我尽可能深入研究,这似乎就是所使用的所有内容。@mgaughan:编写的代码是无效的C#,永远不会工作。但是,代码是否可能是从抽象类
复制的?在这种情况下,它将更接近有效。@DanPuzey这正是我在这里想要了解的。我认为这是某种继承或抽象,但我找不到确切的说法来说明这一点。谢谢