Hi,
First some background information:
LLBLGen version: LLBLGen pro 3.0 (trial version)
Database Targeted: Oracle 11g
Template Group: Self Servicing Entities
Language: C#
**Core Requirement: To generate a WCF Data Services friendly LinqMetaData class for the model **
Target platform: .Net 4.0
Issues
1. I am not able to use the default generated LinqMetaData class as expected with the WCF Data Service
If I take the LinqMetaData class that is generated by default in the WCF DataService it throws up errors such as below
_The server encountered an error processing the request. The exception message is 'On data context type 'LinqMetaData', there is a top IQueryable property 'AccessCode' whose element type is not an entity type. Make sure that the IQueryable property is of entity type or specify the IgnoreProperties attribute on the data context type to ignore this property.'. See server logs for more details. The exception stack trace is:
at System.Data.Services.Providers.ReflectionServiceProvider.PopulateMetadata(IDictionary2 knownTypes, IDictionary
2 childTypes, IDictionary2 entitySets) at System.Data.Services.Providers.BaseServiceProvider.PopulateMetadata() at System.Data.Services.DataService
1.CreateProvider() at System.Data.Services.DataService1.HandleRequest() at System.Data.Services.DataService
1.ProcessRequestForMessage(Stream messageBody) at SyncInvokeProcessRequestForMessage(Object , Object[] , Object[] ) at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc) at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)_
2. I tried but was not able to get the custom template for ADO DS to work
If I try to use the custom templates that are provided in a separate thread on this forum(_the custom templates target v 3.5 ADO DS so i changed the target to Framework 3.5_) then first I get an error while saving the custom Preset in the regular Program File directory (is it because i am using Windows 7?maybe). When I resolve that by saving it in a different directory than the one under Program Files the list of tasks (Run Queue) for the custom Preset comes as blank. Even if explicitly add the tasks for the ConsumeTDLTemplate or merge this new preset with an existing one the code generation does not work properly for some specific tasks (the ones that would generate the custom LinqMetaData class, i believe) and we get an error stating :
Could not find template 'SD_TemplateID'. It is not defined in the used templatebindings or is empty. It can be it's not defined for the current database (e.g. stored procedure templates for SqlServer CE)
Any pointers as to what is going wrong or what can be done differently to get the scenario to work will be appreciated. Please help ASAP as so far the team has been very impressed with the Performance of LLBLGen for the model generation and it would be a really good business case if we can use this model for our huge database (about 700-800 tables with some complex relationships) in WCF Data Service !!!