This is a migrated thread and some comments may be shown as answers.

Need help deciphering an error message

1 Answer 55 Views
Getting Started
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Paul Gibson
Top achievements
Rank 1
Paul Gibson asked on 23 Feb 2010, 09:59 PM
I am trying out OpenAccess and am getting the following error when OpenAccess is doing its processing after a a successful run through the C# compiler in VS 2008. I am not sure where I would look. The backend database is Sybase SQLAnywhere 10.0.1.3990.

Error    2    OpenAccess Error: Telerik.OpenAccess: Updating SQL schema failed. No RelationalTypeMapping found for class 'TelerikHBModel.IOperRecertification' used by field '<value>'. Type is interface.    TelerikHBModel    
Error    3    OpenAccess Error: No RelationalTypeMapping found for class 'TelerikHBModel.IOperRecertification' used by field '<value>'. Type is interface.    TelerikHBModel    

IOperRecertification is a simple interface as follows:
using System; 
using System.Collections.Generic; 
using System.Text; 
 
namespace TelerikHBModel 
    [Telerik.OpenAccess.Persistent( )] 
    public interface IOperRecertification 
    { 
        void Recertify(); 
    } 
 




Two classes in the project are marked with the persistent attribute and implement the interface with an empty method:
void Recertify() {} 

and a third class maintains a list of objects implementing the interface and has a method to iterate through them, calling the Recertify() method:
using System; 
using System.Collections.Generic; 
using System.Text; 
 
namespace TelerikHBModel 
    [Telerik.OpenAccess.Persistent( )] 
    public class OperatorCertification 
    { 
        private Panel _Panel; 
        private DateTime _StartDate; 
        private DateTime _EndDate; 
        private Operator _Operator; 
        private IList<IOperRecertification> _Recertifications; 
 
        public Panel Panel 
        { 
            get { return _Panel; } 
            set { _Panel = value; } 
        } 
 
        public DateTime StartDate 
        { 
            get { return _StartDate; } 
            set { _StartDate = value; } 
        } 
 
        public DateTime EndDate 
        { 
            get { return _EndDate; } 
            set { _EndDate = value; } 
        } 
 
        public Operator Operator 
        { 
            get { return _Operator; } 
            set { _Operator = value; } 
        } 
 
        // Strategy for recertification. 
        public IList<IOperRecertification> Recertifications 
        { 
            get { return _Recertifications; } 
            set { _Recertifications = value; } 
        } 
 
        private OperatorCertification() 
        { 
        } 
 
        public OperatorCertification(Panel aPanel, DateTime aStart, DateTime aEnd, Operator aOperator) 
        { 
            _Panel = aPanel
            _StartDate = aStart
            _EndDate = aEnd
            _Operator = aOperator
        } 
 
        public void Recertify() 
        { 
            foreach (IOperRecertification Recert in Recertifications) 
            { 
                Recert.Recertify(); 
            } 
        } 
    } 

Any ideas?

1 Answer, 1 is accepted

Sort by
0
Ady
Telerik team
answered on 26 Feb 2010, 03:55 PM
Hi Paul Gibson,

 At the moment collection of interface instances is not supported. This could potentially involve joining multiple table hierarchies and could adversely affect performance.

Sincerely yours,
Ady
the Telerik team

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
Tags
Getting Started
Asked by
Paul Gibson
Top achievements
Rank 1
Answers by
Ady
Telerik team
Share this question
or