0

私はこのような単純なPOCOクラスを作成しました:

 public   class Entity
{
 public int   Id { get; set; }
 public bool IsActive { get; set; }
}

そしてこれは私のEFDbContextです:

   public class SampleContext:DbContext 
    {
             public DbSet<Entity> Entities { get; set; }

    }

私は次のようにサンプルロジックレイヤーを定義しました:

       public class EntityTask : IEntityTask 
    {
       #region Implementation of IEntityTask

       public IEnumerable<Entity> GetAll()
       {
           var contex = new SampleContext();

           return contex.Entities.ToList();
       }

       #endregion
    }

     public   interface IEntityTask
 {
     IEnumerable<Entity> GetAll();

 }

これは、サーバープロジェクトで定義されたDomainServiceクラスです。

    [EnableClientAccess()]
public class CrudService : DomainService
{
    private readonly IEntityTask _entityTask;

    public CrudService(IEntityTask entityTask)
    {
        _entityTask = entityTask;
    }

    public IQueryable<Entity>  GetAll ()
    {
       return _entityTask.GetAll().AsQueryable();
    }
}

これらの手順の後、SilverlightプロジェクトでデータをDataGridにバインドする方法がわかりません。Webで多くのリンクを確認しましたが、それらの多くはウィザードを使用してデータをデータグリッドにバインドしています。エンティティをDataGridにバインドするにはどうすればよいですか?

4

1 に答える 1

1

エンティティにKeyAttribute(おそらくIdプロパティで)マークを付け始めてから、msbuildにサービスのプロキシ対応物(DomainContextという名前)を作成する方法を指定する必要があります。Silverlightプロジェクトの[プロパティ]タブでRiaLink
、[サーバー側]プロジェクトを選択してビルドします。ソリューション。
クライアント側でプロキシが生成されます。クライアントプロジェクトを調べて確認してください(必ず[ソリューションエクスプローラーですべてのファイルを表示]を押して、
RiaProxy
下の画像のようなものを探してください。Generated_Code隠しフォルダーの下にDomainContextがあります。これからは、データの読み込みとバインドが非常に簡単になるはずです。ここでBrad Abramsによる優れたブログ投稿シリーズを見ると、必要なものがすべて見つかります。

于 2012-10-24T16:37:13.687 に答える