我可以在SQL Server和C#数据表的列名中使用特殊字符吗

moh*_*m p 3 c# sql-server azure-sql-database

我有一个疑问,我能使用特殊字符%$+-#在SQL Server表的列名和C#的数据表?

我试图在创建表的SQL Server中使用这些字符创建表,但是我想知道它的可能与否吗?

Fla*_*sco 5

如前所述,由于列名位于方括号之间,所以可以,但是在列名中使用空格和特殊字符不是一个好习惯。

CREATE TABLE [TABLE1] (ID UNIQUEIDENTIFIER, [% Column1] INT, [$ Column2] INT, [+ Column3] 
INT, [- Column4] INT, [# Column5] INT);

INSERT INTO [TABLE1] (ID, [% Column1], [$ Column2], [+ Column3], [- Column4], [# Column5])
VALUES ('8C012194-5D8A-4A58-B225-F33F60875499',1, 2, 3, 4, 5)
Run Code Online (Sandbox Code Playgroud)

如果使用的是Entity Framework,则可以将列映射到模型类,如下所示:

[Table("Table1")]
public class Test 
{
  public Guid Id { get; set; }

  [Column("% Column1")]
  public int Column1 { get; set; }

  [Column("$ Column2")]
  public int Column2 { get; set; }

  [Column("+ Column3")]
  public int Column3 { get; set; }

  [Column("- Column4")]
  public int Column4 { get; set; }

  [Column("# Column5")]
  public int Column5 { get; set; }

}
Run Code Online (Sandbox Code Playgroud)