Json序列化没有关系的EF对象

本文关键字:EF 对象 没有关系 序列化 Json | 更新日期: 2023-09-27 18:10:37

我正在尝试在另一个数据库中存储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);
    }

Json序列化没有关系的EF对象

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

public int? ContactsExtraId { get; set; }
public virtual tblContactsExtra tblContactsExtra { get; set; }
public int? InventoryId { get; set; }
public virtual TblInventory TBLINVENTORY { get; set; }