1

エンティティを含む DTO を作成したいと思います。どうすればいいですか?出来ますか?

たとえば、サーバー プロジェクトに次のようなものがあります。

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 にカプセル化することです...

または、このシナリオに適した別のソリューションは何ですか? 何か (いくつかの属性) が不足していますか、それともサポートされていないだけですか?

4

2 に答える 2

0

RIA サービスがクライアント側でそれらを追跡できるように、DTO に加えて他のエンティティをサービス メソッドとして公開する必要があります。サービスは次のようになります。

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

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

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

[Include] 属性をエンティティに追加して、エンティティがクライアント側で取得されるようにする必要もあります。

于 2012-02-21T11:55:21.263 に答える
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は、この Service Pack の変更に関する良い記事です。

于 2011-10-29T18:47:38.147 に答える