You have a statement (if or while, for example), right before the code you posted, without curly braces.
For example:
if (somethingIsTrue) { var user= new ApplicationUser { UserName = model.myUser.Email, Email = model.myUser.Email , }; }
is correct, but the code below:
if (somethingIsTrue) var user = new ApplicationUser { UserName = model.myUser.Email, Email = model.myUser.Email , };
will result in CS1023: Embedded statement cannot be a declaration or labeled statement.
UPDATE
The reason, according to @codefrenzy, is that the newly declared variable will immediately go out of scope, unless it is enclosed in a block statement, where it can be accessed from.
The compilation will pass in the following cases though.
If you only initialize a new instance of a type, without declaring a new variable:
if (somethingIsTrue) new ApplicationUser { UserName = model.myUser.Email, Email = model.myUser.Email , };
or if you assign a value to an existing variable:
ApplicationUser user; if (somethingIsTrue) user = new ApplicationUser { UserName = model.myUser.Email, Email = model.myUser.Email , };