2

我正在尝试将 Json 序列化 EF 对象存储在另一个数据库中。

我要存储的物品之一是购物车,其中有一些相关的表格。

我怎样才能存储购物车,而不用拖拽它的关系(最好不要诉诸 .Select() 来挑选不同的列)

[AllowAnonymous]
public ActionResult Test() {

    using (var db = new DALEntities())
    {
        var q = db.tblCarts.SingleOrDefault(x => x.CartItemID == 4275);

        q.tblContactsExtra = null;
        q.TBLINVENTORY = null;

        var settings = new JsonSerializerSettings {PreserveReferencesHandling = PreserveReferencesHandling .Objects} ;

        var str = JsonConvert.SerializeObject(q, settings);

        return Content(str);
    }
4

1 回答 1

2

不幸的是,您必须将外键设置为允许空值。否则,您将无法实现您想要实现的目标。为此,只需将 ID 字段设为可为空,例如:

public int? ContactsExtraId { get; set; }
public virtual tblContactsExtra tblContactsExtra { get; set; }

public int? InventoryId { get; set; }
public virtual TblInventory TBLINVENTORY { get; set; }
于 2013-04-24T14:32:22.903 回答