Silverlight + Entity框架代码首先是+ DomainService + partial class

时间:2013-01-14 15:31:53

标签: silverlight entity-framework ef-code-first partial-classes

我与实体有Silverlight项目 这是我的桌类

 public class OrderHeader : INotifyPropertyChanged
{
    public string OrderId{get;set;}
}

我有

 public class DataBaseContext : DbContext
{
    public DbSet<OrderHeader> OrderHeaders { get; set; }

}

我有域名服务

[EnableClientAccess()]
public class ShopService : DomainService
{
    [Invoke]
    public OrderHeader GetOrderHeader()
    {
        using (var db = new DataBaseContext())
        {
            return db.OrderHeader.FirstOrdefault(o=>o.OrderId == "123";
         }
    }
}

在我的SL应用程序中,我想使用OrderHeader作为部分类。

之类的东西
public partial class OrderHeader
{
   public DateTime LoadDate{get;set;}
}

private void LoadData()
{
  ShopServiceContext context = new ShopServiceContext();
  context.GetOrderHeader(OrderLoaded, null)
}
private void OrderLoaded(InvokeOperation<OrderHeader> result)
{
   var loadedOrder = result.Value; //load order this is my partial class from SL app
   loadedOrder.Loaddate = DateTime.Now;
} 

我可以创建一些想法吗?

1 个答案:

答案 0 :(得分:1)

是。首先创建一个新的Silverlight类库来保存Silverlight项目的实体。然后,使用“添加为链接”将您的实体(OrderHeader)添加到此项目中。

对于仅在Silverlight端可用的属性(或其他代码部分),您可以使用如下的编译器指令:

#if SILVERLIGHT
    // Do silverlight stuff 
    public DateTime LoadDate{get;set;}
#endif

在此之后,您的实体将针对Silverlight项目进行有条件的编译。