2

Json でシリアル化された EF オブジェクトを別のデータベースに保存しようとしています。

私が保存しようとしているアイテムの 1 つは、関連するテーブルがいくつかあるカートです。

リレーションをドラッグせずにカートを保存するにはどうすればよいですか (できれば .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

残念ながら、null を許可するように外部キーを設定する必要があります。そうでなければ、あなたが達成しようとしているものを達成することはできません. これを行うには、次のように ID フィールドを null 可能にします。

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 に答える