我正嘗試使用SQL來構建一個對象類,以備將來在我的應用程序中使用。基本上,你通過它通過一個表名,它會回報你的語法的類粘貼到C#SQL返回錯誤的訂單
它的工作原理到一個點,但有些項目是在一個奇怪的順序返回:
DECLARE @TableName VARCHAR(50)
SELECT @TableName ='Users'
select 'public class obj_' + @TableName + '{'
union
SELECT 'public '+ CASE WHEN t.name IN ('int', 'bigint') THEN 'Int32'
WHEN t.name IN ('nvarchar','varchar','text','ntext') THEN 'String'
WHEN t.name IN ('datetime','smalldatetime') THEN 'DateTime'
WHEN t.name IN ('decimal') THEN 'Decimal'
WHEN t.name IN ('bit') THEN 'Boolean'
ELSE 'Unknown' END
+ ' ' + c.name + '{ get; set; }' FROM syscolumns as c
JOIN systypes t ON t.xusertype=c.xusertype
WHERE id IN (SELECT id FROM sysobjects WHERE [email protected])
union
Select '}'
它返回它想:
}
public Boolean IsAdmin{ get; set; }
public class obj_Users{
public Int32 UserCompanyID{ get; set; }
public Int32 UserID{ get; set; }
public Int32 UserRole{ get; set; }
public String Email{ get; set; }
public String FirstName{ get; set; }
public String SessionKey{ get; set; }
public String Surname{ get; set; }
public String UserName{ get; set; }
public String UserPassword{ get; set; }
沒有一個ORDER BY,對於沒有定義的順序結果行。 – 2014-12-01 19:21:18
你是什麼意思「錯」?代碼中沒有任何類型的ORDERBY,所以不確定是什麼使任意一個命令「正確」。 – 2014-12-01 19:21:43
此外,您正在嘗試解決之前已經解決了一百萬次的問題。你想要一個ORM的外觀。 – 2014-12-01 19:21:59