![](/img/trans.png)
[英]How can I get data type of each column in a SQL Server table/view etc. using C# Entity Framework?
[英]Can I use special characters in column name in SQL Server and C# data table
我是否可以在SQL Server表列名和C#數據表中使用特殊字符%
, $
, +
, -
, #
?
我試圖在創建表的SQL Server中使用這些字符創建表,但是我想知道它的可能與否嗎?
如前所述,您可以這樣做,因為列名位於方括號之間,但這不是一個好習慣,請在列名中使用空格和特殊字符。
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)
如果使用的是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; }
}
Azure sql在列名稱中支持這些特殊字符。
因為SQL Server數據類型的column_name是nvarchar(128)。
您可以從此文檔獲得此表單: COLUMNS(Transact-SQL)
對於C#,正如mukesh kudi所說,您應該使用[]
括號。
例如,如果要選擇帶有特殊字符“#”的列,則代碼應如下所示:
var rows = dt.Select("","[#]");
您可以參考以下博客: 如何使用DataTable.Select()訪問具有特殊字符的列?
希望這可以幫助。
歡迎使用SO,您可以使用帶有特殊字符或空格的列名,但必須使用
方括號 []
為了訪問這些列。
例如。
Table
%ID
1
2
3
Select [%ID] from Table
有關MSSQL Server的列名和表名規則的更多信息,請查看msdn
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.