Il modello My Entity Framework viene generato dal database di SQL Server. Poiché ho bisogno di accedere al database da Silverlight, ho generato un DomainService per RIAServices rispetto al modello EF. Product
è uno degli autogenerati EntityObject
corrispondente alla tabella Product
. Sto tentando di passare la classe personalizzata CompositeData
al client Silverlight come mostrato. Il problema è che il campo CurrentProduct
non è accessibile nel client ma gli altri campi stringa/int sono accessibili. Come può rendere accessibile il CurrentProduct
dal client?Impossibile accedere al tipo EntityObject tramite i servizi RIA
public class CompositeData
{
[Key]
public Guid PKey { get; set; }
public string CompositeName { get; set; }
public string Identity { get; set; }
public Product CurrentProduct { get; set; } //Product is an auto-generated EntityObject class
public CompositeData()
{
PKey = Guid.NewGuid();
}
}
seguito è il metodo di servizio Domain:
[EnableClientAccess()]
public class LocalDomainService : DomainService
{
public IEnumerable<CompositeData> GetData()
{
List<CompositeData> listData = new List<CompositeData>();
//...
return listData;
}
}
Dal client Silverlight,
domService.Load(domService.GetDataQuery(), GetDataCompleted, null);
private void GetDataCompleted(LoadOperation<CompositeData> compData)
{
foreach(CompositeData cdItem in compData.Entities)
{
// cdItem.CompositeName is accessible
// cdItem.CurrentProduct is not accessible!
}
}
EDIT: Product
classe è generato automaticamente in Model1.Designer.cs
[EdmEntityTypeAttribute(NamespaceName="MyDBModel", Name="Product")]
[Serializable()]
[DataContractAttribute(IsReference=true)]
public partial class Product : EntityObject
{
//..
}
Esso viene generato nel progetto del client anche (in SilverlightProject.g.cs)
/// <summary>
/// The 'Product' entity class.
/// </summary>
[DataContract(Namespace="http://schemas.datacontract.org/2004/07/SilverlightProject")]
public sealed partial class Product : Entity
{
//..
}
Il client Silverlight fa riferimento a un assieme, in cui è definito il tipo Prodotto? –
Vedere la domanda modificata – Nemo