1

以下のコードは、正しい値を OBJECT_TYPES テーブルに更新していますが、OBJECT_ITEMS テーブルは上書きされていますが、その理由はわかりません。誰でも助けることができますか?

 var templateId = Request["id"].AsInt();
var dbcontext = new STDEntities1();
var query = dbcontext.OBJECT_TYPES.Where(o => o.ID == templateId);
var template = query.FirstOrDefault();
var newItem = new OBJECT_TYPES
{
    CATEGORY_ID = template.CATEGORY_ID,
    COMPANY_ID = template.COMPANY_ID,
    OBJECT_NAME = "** Select A Name **",
    HEIGHT = template.HEIGHT,
    WIDTH = template.WIDTH,
    TEMPLATE = template.ID
};


foreach (var field in template.OBJECT_ITEMS)
{
    newItem.OBJECT_ITEMS.Add(field);

}
dbcontext.OBJECT_TYPES.Add(newItem);
dbcontext.SaveChanges();
4

1 に答える 1

1

これは、実際には dataContext/dbContext によって追跡され、ID を持つオブジェクトであるフィールドを追加しているためです。したがって、値は上書きされています。

新しいフィールドを作成してみるか、フィールドをコンテキストから切り離してから、ID/Primary キーを 0 にして、もう一度挿入してみてください。

于 2013-04-15T13:04:32.147 に答える