C# 尝试递增值时,ASP.NET MVC初始值设定项成员声明符无效

C# 尝试递增值时,ASP.NET MVC初始值设定项成员声明符无效,c#,asp.net-mvc,entity-framework-4,C#,Asp.net Mvc,Entity Framework 4,正如您在下面控制器中的代码中所看到的,我正在尝试复制一个现有行并分配一个新值。我犯了一个错误 无效的初始值设定项成员声明符 当我尝试增加一个值时,例如FuritureCount+=1。我如何解决这个问题?或者还有其他选择吗 控制器: var temp = db.Furnitures.Find(id); var duplicateRow = new Furniture() { FurnitureName = temp.FurnitureName, FurniturePrice =

正如您在下面控制器中的代码中所看到的,我正在尝试复制一个现有行并分配一个新值。我犯了一个错误

无效的初始值设定项成员声明符

当我尝试增加一个值时,例如
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
。此处唯一有效的运算符是
=
,后跟此属性的有效值


此外,尽管所有教程都在控制器中显示与您类似的代码,但这不是一个好的设计。控制器应转换视图的数据。数据访问应该在较低的层中进行,即在注入控制器的不同类中进行。

这与MVC无关。这与C#语法有关。此时不能使用
+=
运算符,因为您应该将新值设置为
FuritureCount
。此处唯一有效的运算符是
=
,后跟此属性的有效值


此外,尽管所有教程都在控制器中显示与您类似的代码,但这不是一个好的设计。控制器应转换视图的数据。数据访问应该在较低的层中完成,即在注入控制器的不同类中。

您创建了
家具的新实例。为什么您现在试图增加其
FuritureCount
,即
0
?您的代码似乎与实体框架比MVC更相关。您应该在标签中提及它,并提及版本号。这将帮助正确的人找到你的问题是的,现在是0。你是说
FuritureCount=temp.FuritureCount+1
?那是一个非常奇怪的打字错误。你创建了一个
家具的新实例。为什么您现在试图增加其
FuritureCount
,即
0
?您的代码似乎与实体框架比MVC更相关。您应该在标签中提及它,并提及版本号。这会帮助正确的人找到你的问题是的,现在是0你是说
FuritureCount=temp.FuritureCount+1
?那是一个非常奇怪的打字错误。