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
?那是一个非常奇怪的打字错误。