L_7337 was right, it's just a matter of using SSMS UI.
Sql altering:
ALTER TABLE dbo.dnn_Files DROP COLUMN Folder;
GO
ALTER TABLE dbo.dnn_Files ADD Folder AS ([dbo].[dnn_GetFileFolderFunc]([FolderID]));
works fine. Thanks a lot!
Before I saw the comment I solved the problem another way. So, I decided to answer my own question because it can be useful for somebody.
I did the trick through bacpac. After unzipping (bacpac is just a zip) I modified the model.xml. Related part here:
<Element Type="SqlComputedColumn" Name="[dbo].[dnn_Files].[Folder]">
<Property Name="ExpressionScript">
<Value><![CDATA[([dbo].[dnn_GetFileFolderFunc]([FolderID]))]]></Value>
</Property>
<Relationship Name="ExpressionDependencies">
<Entry>
<References Name="[dbo].[dnn_GetFileFolderFunc]" />
</Entry>
<Entry>
<References Name="[dbo].[dnn_Files].[FolderID]" />
</Entry>
</Relationship>
</Element>
Then zip back and use DacChkSum.exe to calculate checksum.
>dacchksum /InputFilename:database.bacpac
Model checksum
Stored: :[5745242756E4D7CAD12C913058A1078BC1A5FA5A069C7CC0CF417719F2A64196]
Calculated:[A2B39E19E2219E05B3B4F8DC95A1B764B7A91ABBA9C70D18EAA4247B76120BB0]
After changing checksum in Origin.xml I just restored the database.
It seems like to fire a cannon at sparrows. But there is one benefit, the column keeps its order while after altering it becomes the latest. I don't expect any side effect in altering case, but after bacpac trick database looks more consistent.