ASP.NET MVC 在尝试增加值时无效的初始值设定项成员声明符
ASP.NET MVC invalid initializer member declarator when trying to increment value
正如您在下面控制器中的代码中看到的那样,我正在尝试复制现有行并分配一个新值。我收到一个错误
invalid initializer member declarator
当我尝试增加一个值时,例如 FuritureCount += 1
。我该如何解决这个问题?或者还有其他选择吗?
控制器:
var temp = db.Furnitures.Find(id);
var duplicateRow = new Furniture()
{
FurnitureName = temp.FurnitureName,
FurniturePrice = temp.FurniturePrice,
FurnitureSupplier = temp.FurnitureSupplier,
FurnitureCount += 1 //this produce error
}
db.Furnitures.Add(duplicateRow);
db.SaveChanges();
这与 MVC 无关。它与 C# 语法有关。此时您不能使用 +=
运算符,因为您应该将新值设置为 FuritureCount
。此处唯一有效的运算符是 =
,后跟此 属性.
的有效值
此外,尽管所有教程都在控制器中显示了与您类似的代码,但这并不是一个好的设计。控制器应该为视图转换数据。数据访问应该在较低层完成,即在不同的 class 注入控制器。
正如您在下面控制器中的代码中看到的那样,我正在尝试复制现有行并分配一个新值。我收到一个错误
invalid initializer member declarator
当我尝试增加一个值时,例如 FuritureCount += 1
。我该如何解决这个问题?或者还有其他选择吗?
控制器:
var temp = db.Furnitures.Find(id);
var duplicateRow = new Furniture()
{
FurnitureName = temp.FurnitureName,
FurniturePrice = temp.FurniturePrice,
FurnitureSupplier = temp.FurnitureSupplier,
FurnitureCount += 1 //this produce error
}
db.Furnitures.Add(duplicateRow);
db.SaveChanges();
这与 MVC 无关。它与 C# 语法有关。此时您不能使用 +=
运算符,因为您应该将新值设置为 FuritureCount
。此处唯一有效的运算符是 =
,后跟此 属性.
此外,尽管所有教程都在控制器中显示了与您类似的代码,但这并不是一个好的设计。控制器应该为视图转换数据。数据访问应该在较低层完成,即在不同的 class 注入控制器。