【发布时间】:2014-04-29 07:25:22
【问题描述】:
这是我的代码,它成功更新了tableBrand 表的记录,但我想以更规范的形式更新我的记录。
public bool Update(tableBrand brand)
{
if (brand == null)
{
throw new ArgumentNullException("brand");
}
tableBrand tmpBrand = Get(brand.BrandID);
if (tmpBrand != null)
{
tmpBrand.BrandName = brand.BrandName;
plaDatabaseEntities.SaveChanges();
}
return true;
}
注意:
这里只有 BrandName 和 BrandID 两列,所以我们可以正常更新。但是假设有
一个表中有 25 个列,然后我们必须以手动方式为每一列分配值。但我不想像上面那样更新我的表记录。我想更新表记录
如下代码和描述。这里Get(brand.BrandID)返回一个tableBrand对象。
public bool Update(tableBrand brand)
{
if (brand == null)
{
throw new ArgumentNullException("brand");
}
tablebrand tmpbrand = Get(brand.brandID);
if (tmpbrand != null)
{
tmpbrand = brand;
plaDatabaseEntities.SaveChanges();
}
return true;
}
据我所知,如果我们想更新表的任何记录,那么我们必须拥有该记录 id 才能触发查询并从数据库中获取数据。在上面的代码中,我可以使用brand.brandID 从数据库中获取记录。但是在这里我想像上面一样分配像 tmpbrand = brand; 这样的 tmpbrand 对象,但当时的问题是 tmpbrand 在这里被过度写入,有些我无法以上述方式更新我的记录。
我希望如果我们得到 brand 对象的所有字段,除了 brandID 并将所有字段分配给 tmpbrand 除了 brandID,那么我可以解决这个问题没有得到答案如何使用 lambda 表达式或 Linq 从brand 对象中获取所有归档,brandID 除外,并将所有归档分配给 tmpbrand,brandID 除外。
如果有人解决了这个问题,请帮助我...
【问题讨论】:
-
品牌对象是如何创建的?您是否从数据库中读取它,如果是,如何读取?
-
brand 是 tableBrand 的一个对象。
-
tableBrand 是您创建的类还是由 Visual Studio 自动生成的?
-
由Visual Studio自动生成