Nem*_*emo 6 .net c# silverlight ria entity-framework
我的实体框架模型是从SQL Server数据库生成的.由于我需要从Silverlight访问数据库,因此我针对EF模型为RIAServices生成了一个DomainService.Product是EntityObject表中对应的自动生成之一Product.我试图将自定义类传递CompositeData给Silverlight客户端,如图所示.问题是CurrentProduct客户端无法访问该字段,但可以访问其他字符串/ int字段.如何CurrentProduct从客户端访问?
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();
}
}
Run Code Online (Sandbox Code Playgroud)
以下是域服务方法:
[EnableClientAccess()]
public class LocalDomainService : DomainService
{
public IEnumerable<CompositeData> GetData()
{
List<CompositeData> listData = new List<CompositeData>();
//...
return listData;
}
}
Run Code Online (Sandbox Code Playgroud)
从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!
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:
Product类在Model1.Designer.cs中自动生成
[EdmEntityTypeAttribute(NamespaceName="MyDBModel", Name="Product")]
[Serializable()]
[DataContractAttribute(IsReference=true)]
public partial class Product : EntityObject
{
//..
}
Run Code Online (Sandbox Code Playgroud)
它也在客户端项目中生成(在SilverlightProject.g.cs中)
/// <summary>
/// The 'Product' entity class.
/// </summary>
[DataContract(Namespace="http://schemas.datacontract.org/2004/07/SilverlightProject")]
public sealed partial class Product : Entity
{
//..
}
Run Code Online (Sandbox Code Playgroud)
您可以使用和属性来定义CompositeData和之间的关系。ProductIncludeAssociation
[System.ServiceModel.DomainServices.Server.Include]
[System.ComponentModel.DataAnnotations.Association("AssociationName", "MainKey", "AssociatedObjectKey")]
public Product CurrentProduct { get; set; }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
684 次 |
| 最近记录: |