[英]Best way to store program state variables in SQL Server
我正在使用實體框架在C#中編寫一個連接到SQL Server的應用程序。 應用程序的每個實例都共享表和一些變量(整數,字符串和bools)。
通過SQL Server中的表共享變量(int string和bools)的最佳方法是什么?
由於表具有固定類型的列,因此在C#中不丟失類型安全的情況下,一個表不會執行此操作,因為每個類型都應轉換為字符串或裝箱到對象。
我提出的兩個解決方案是,一個表有3列( int
, varchar
, bool
),數據寫入適當類型的列,或3個表有一列。
或許我完全忽略了這一點......
問題是:將完整的數據保存到SQL Server的最優雅方法是什么?
您可以使用SQL_Variant
來實現此目的
https://docs.microsoft.com/en-us/sql/t-sql/data-types/sql-variant-transact-sql?view=sql-server-2017
CREATE TABLE tableA(colA sql_variant, colB int)
INSERT INTO tableA values ( cast (46279.1 as decimal(8,2)), 1689)
SELECT SQL_VARIANT_PROPERTY(colA,'BaseType') AS 'Base Type',
SQL_VARIANT_PROPERTY(colA,'Precision') AS 'Precision',
SQL_VARIANT_PROPERTY(colA,'Scale') AS 'Scale'
FROM tableA
WHERE colB = 1689
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.