实体框架 - 关联问题

时间:2012-02-09 20:49:17

标签: wcf entity-framework

我有一个实体框架复杂类型(Activity)我已经映射到一个返回数据记录的SP。

课堂活动   字符串查看   字符串已注册

我需要创建另一个EF实体(复杂类型?),它将保存有关此对象的元数据以及对象数据 - 一个List,但我不知道如何建立这种关联(List)。 / p>

类ActivityData    string totalrecords    字符串页面    列出记录

我需要将此Activity类序列化为json中的webget响应。与此类似:

[WebGet(ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)]
public Activity GetActivity(string total_records, string sql_params)
{
    List<activity> activityList;
    using (ModelEntities context = new ModelEntities())
    {
        resultList = context.CallSP();
    }
    ActivityData data = new ActivityData();
    data.totalrecords = 10;
    data.pages = 5;
    activity.records = List<activity>;

    return activity;
}

1 个答案:

答案 0 :(得分:3)

你有几个问题:

  • 复杂类型不能参与关系。因此,您不能将具有导航属性的复杂类型设置为其他复杂类型或实体的集合,也不能将具有导航属性的实体设置为复杂类型集。
  • 存储过程无法填充关系。

ActivityAcitivityData都必须是映射实体(通常意味着它们必须是数据库中的表或视图),如果要将活动及其数据加载到单个数据库中,则必须使用Linq数据库往返。

您还可以使用serialization attributes来确保您的关系可以序列化为JSON。