我正在使用 Visual Studio 2012 并在 C# 上进行开发。我刚开始使用 WCF Web 服务,我通过 Model First 方法创建了数据库,到目前为止,我已经能够在简单的表中插入、更新、删除和获取条目,但是我遇到了一个问题:我不知道如何为与另一个表有关系的表发送参数。
为了更好地解释我的疑问,这里有一个例子:我有一个 Regions 表,然后我有另一个名为 Clusters 的表,一个区域有许多集群,一个集群属于一个区域。
EF 创建的结果类如下所示:
public partial class Regions
{
public Regions()
{
this.Clusters = new HashSet<Clusters>();
}
public int RegionId { get; set; }
public string Name { get; set; }
public string Point { get; set; }
public System.DateTime CreatedDateTime { get; set; }
public System.DateTime UpdatedDateTime { get; set; }
public virtual ICollection<Clusters> Clusters { get; set; }
}
public partial class Clusters
{
public int ClusterId { get; set; }
public System.DateTime CreatedDateTime { get; set; }
public System.DateTime UpdatedDateTime { get; set; }
public virtual Regions Region { get; set; }
}
有了这种关系,我怎么能添加一个新的Cluster呢?我添加新集群的端点接收到一个字符串,它是一个 JSON 字符串,我将它反序列化为一个集群对象。我这样反序列化:
Clusters cluster = new JavaScriptSerializer().Deserialize<Clusters>(data); //data is the JSON string
在这种情况下,我将发送到 JSON 字符串的唯一信息将是集群所属的区域(创建对象时的 DateTime 正在服务器端添加),但是我如何发送将区域信息转换为 JSON 以便可以将其添加到集群中?
我的意思是,我必须发送一个看起来像这样的 JSON 字符串吗?
{"RegionId":2}
因为如果我这样做,就没有条目,我还需要别的吗?
我对使用 EF 和 WCF Web 服务真的很陌生,任何帮助都将不胜感激。