Data Access Project compile error - does not implement interface on all factories


Using VS2008, Service Software Factory, Repository factory, after creating data repository classes, project will not compile. All of the factory.cs classes (myobjectDeletefactory.cs, myobjectInsertfactory.cs,myobjectUpdatefactory.cs,myobjectSelectionfactory.cs,myobjectfactory.cs) generate the following errors.
'MyService.DataAccess.MyObjectDataAccess.MyObjectDeleteFactory' does not implement interface member 'Microsoft.Practices.Repository.IDeleteFactory<int>.ConstructDeleteCommand(Microsoft.Practices.EnterpriseLibrary.Data.Database, int)'

file attachments


lerocha wrote Jan 14, 2009 at 8:31 AM

When I open the attached project, the errors that I get are related to missing references: EntLib 4.0 and OBCService.BusinessEntities.dll.

I removed all references, and added references to the Microsoft.Practices.EnterpriseLibrary.Common and to the Microsoft.Practices.EnterpriseLibrary.Data, located at the installation directory of the Repository Factory. The Repository Factory still uses EntLib 3.1.

I also manually created the type OBCClass of the missing OBCService.BusinessEntities.dll assembly and everything build file without any errors!!

I contacted the person who reported this error to tell that the problem is the missing references of the project and not in the code generated by the Repository Factory. Just wait for some response, but we problably can close this as not a bug.

orsvaca wrote Nov 3, 2009 at 9:51 AM

Hi all,
I have the same problem reported.
I attach a project example to you reproduce the issue.
If you open the project, it builds fine using EntLib 3.1 (assemblies located on \lib\3.1 folder). But, when you change to EntLib4.1 (assemblies located on \lib folder) it displays the errors reported: 'ClassLibrary1.Business.DaoTableTestRepositoryArtifacts.usp_TableTest_GetByidSelectionFactoryBase' does not implement interface member 'Microsoft.Practices.Repository.ISelectionFactory<int>.ConstructSelectCommand(Microsoft.Practices.EnterpriseLibrary.Data.Database, int)'

Plases change the references on project ClassLibrary1 from EntLib4.1 located on \Lib folder to entlib3.1 located on \lib\3.1 folder

wrote Nov 3, 2009 at 9:51 AM

wrote Feb 14, 2013 at 2:27 AM