【发布时间】:2013-04-15 21:04:32
【问题描述】:
下面的代码将正确的值更新到 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();
【问题讨论】:
-
OK - 如果我创建一个新项目并添加字段值(id 和外键除外)而不是 put .Add(field) ,它似乎可以工作。有没有更简洁的方法来做到这一点?
标签: entity-framework-4 linq-to-entities asp.net-webpages