RIA サービス SP2 および Entity Framework 5 (既存の DB から生成) を使用していますが、エンティティ オブジェクトを別のエンティティ オブジェクトへの参照と共に渡すと、参照されたオブジェクトが取得されません。エンティティ フレームワーク側で .Include を実行し、参照されるエンティティに "Include" 属性を追加しています。私のクラスは次のようになります。
[MetadataTypeAttribute(typeof(ProfileValue.ProfileValueMetadata))]
public partial class ProfileValue
{
internal class ProfileValueMetadata
{
private ProfileValueMetadata()
{
}
[Key]
public int ValueID { get; set; }
public int ItemID { get; set; }
[Include]
[Composition]
[Association("ProfileValue_ProfileItem", "ItemID", "ItemID")]
public virtual ProfileItem ProfileItem { get; set; }
public string Value { get; set; }
}
}
と:
[MetadataTypeAttribute(typeof(ProfileItem.ProfileItemMetadata))]
public partial class ProfileItem
{
internal class ProfileItemMetadata
{
private ProfileItemMetadata()
{
}
public string Description { get; set; }
[Key]
public int ItemID { get; set; }
[Include]
public ICollection<ProfileValue> ProfileValues { get; set; }
public string Type { get; set; }
}
}
また、ProfileItem と Profile Value の両方に、それぞれのエンティティをクライアントに公開する CRUD メソッドがあります。とりあえず、プロファイル値のクエリを取得して、それぞれの ProfileItem をクライアントに提供しようとしています。db.ProfileValues.Include("ProfileItem") を呼び出して ToList を実行すると、両方のエンティティが得られます。RIA がどこかでそれらを含めることに失敗しているようです。
私は見てきました:
POCO エンティティ ベースの RIA サービスは、関連付けられたエンティティを逆シリアル化できません
また、ここで参照されているものすべて: Include() in EF4 using RIA Services Domain Service not loading!
現在の技術:
Silverlight 5、Entity Framework 5 (ObjectContext ではなく DbContext)、および Ria Services SP2
どんなアイデアでも大歓迎です!
編集 RIA サービス呼び出しは次のとおりです。
[Query(IsDefault = true)]
public IQueryable<ProfileValue> GetProfileValues()
{
return db.ProfileValues.Include("ProfileItem");
}