1

エンティティを含むDTOを作りたいと思います。私はどうしたらいいですか?出来ますか?例えばSilverlightのDTOにエンティティとエンティティのコレクションを入れる方法 - WCF RIA?

は、私は私のサーバープロジェクトにこのようなものを持っている:

public class MyCustomDTO 
{ 
    [Key] 
    public int id { get; set; } 

    public EntityCollection<MyEntity> list { get; set; } 

    public MyEntity2 dummyproperty { get; set; } 

    public string name{ get; set; } 
} 

しかし、唯一の基本的なタイプが生成され、クライアント側、および収集とMyEntity2入力された財産上の

ではありません。

私の目標ではなく、複数の非同期クエリでそれらを収集する、1 DTOに、いくつかの異なるエンティティをカプセル化することです...

それとも異なる何の解決策は、このシナリオに適しているのでしょうか?私は何か(いくつかの属性)が不足しているのか、それともサポートされていないのですか?

答えて

0

DTOに加えて、サービスメソッドとして他のエンティティを公開する必要があります。これにより、RIAサービスはクライアント側でそれらを追跡できます。あなたはまた、彼らは、クライアント側で取得されるように、あなたの事業体への[含める]属性を追加する必要があります

public class MyDomainService : LinqToEntitiesDomainService<MyContext> 
{ 
    public IQueryable<MyCustomDto> GetMyCustomDtos() 
    { 
     //... 
    } 

    public IQueryable<MyEntity> GetMyEntitys() 
    { 
     //... 
    } 

    public IQueryable<MyEntity2> GetMyEntity2s() 
    { 
     //... 
    } 
} 

:あなたのサービスは次のようになります。

0

SilverlightクライアントとWCF RIAサービスの間で複合型を送信できますが、DTOに[Key]属性をプロパティに適用してはいけません。

public class MyCustomDTO 
{ 
    //[Key] // comment this line and there you go. 
    public int id { get; set; } 

    public List<MyEntity> list { get; set; } 

    public MyEntity2 dummyproperty { get; set; } 

    public string name{ get; set; } 
} 

更新

あなたは、あなたのアプリケーションで複合型を使用する前にWCF RIA Services V1.0 SP1 for Silverlight 4をインストールする必要があります。 WCF RIA Services V1.0 SP1はこのサービスパックの変更についての良い記事です。

+0

私は試しましたが、 "DomainServiceのエンティティにはキーが定義されていません.DomainService操作で公開されるエンティティには、KeyAttributeでマークされた少なくとも1つのパブリックプロパティが必要です" ://forums.silverlight.net/t/202531.aspx、RIAドメインサービスはエンティティでしか動作できないため、複雑なタイプを送信することはできず、エンティティの一部としてしか送信できません。 –

+0

Silverlight用のWCF RIA SP1をインストールする必要があります。私は自分の答えを更新します。 – Ekk

+0

私はしましたが、まだ動作していません。私のDomainServiceはLinqToEntitiesDomainServiceなので、私はちょうどそれ以外のものを返すことはできません。私はLinqToEntitiesDomainServiceから継承されていない別のDomainServiceを作るべきですか? (私の現在のドメインサービスは.edmxファイルから生成され、サービスクラスを部分的に作成した後に別のファイルでカスタムクエリを拡張しました) –

関連する問題