Сильно типизированный контекст данных должен объявлять ошибку тела
Получив эту ошибку:
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();
}
1 ответ
Решение
Примеры ошибок
Конструкторы без тела
public PgeDataContext(IDbConnection connection);
=> Вы должны объявить тело
public PgeDataContext(IDbConnection connection){ /*blibli*/ }
Методы без тела
protected virtual void SendPropertyChanged(string propertyName);
=> Вы должны объявить тело для неабстрактных, внешних или частичных методов, как указано в вашем сообщении об ошибке
protected virtual void SendPropertyChanged(string propertyName) {
/*blabla*/
}