My apologies Stan...i missed your reply and only saw the last reply instead...
I had already used your suggestion. This does work (in fact: you do not even need to add the "public abstract override int GetCustomer();" since marking the class as 'abstract' is actually sufficient. There are 3 things i can say about this:
1: I think the class should be abstract by default. I still think you should change this in coming releases
2: when regenerating the dataaccesslayer the project file is overwritten and my partial class is removed from the projectfile.
3: After reconsideration I do not understand why there is a division between 'SqlCustomerProviderBase' and 'SqlCustomerProvider'. Would it not be much easier if you would change the class 'SqlCustomerProviderBase' to 'SqlCustomerProvider' ? This would remove a layer in the hierarchy while still alowing me to add code in my partial class. Like this:
public abstract partial class CustomerProviderBase : CustomerProviderBaseCore
{
public abstract int GetCustomer();
}
public abstract partial class SqlCustomerProvider : CustomerProviderBase
{
//this is the class that is now SqlCustomerProviderBase. It contain onmly generated code
}
public partial class SqlCustomerProvider
{
//this is the partial partner that I am allowed to edit. It no longer subclasses explicitely because it already has a baseclass
}
Is there any reason why this structure is not a valid option. It seems to be simpler.?