我正在尝试将 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);
}
最佳答案
不幸的是,您必须将外键设置为允许空值。否则你将无法实现你想要实现的目标。为此,只需将 ID 字段设为可为空,例如:
public int? ContactsExtraId { get; set; }
public virtual tblContactsExtra tblContactsExtra { get; set; }
public int? InventoryId { get; set; }
public virtual TblInventory TBLINVENTORY { get; set; }
关于c# - Json 序列化没有关系的 EF 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16194220/