Ich habe eine bitweise Enumeration mit FlagsAttribute gesetzt -
%Vor% Nun, in C # speichere ich diesen Wert in einer Eigenschaft, sage MyProperty und beim Speichern schreibe ich diese Eigenschaft in meine SQL-Datenbank in Integer-Spalte. Angenommen, ich wähle First,Second,Five
aus dem Code, dann wird es in der Datenbank als '11'
gespeichert.
Ich weiß, dass ich den Wert aus der Datenbank holen kann und nur den int-Wert in MyEnum eingeben muss und es gibt mir die Werte. Aber, ich möchte, dass einige Manipulationen an SQL-Daten in einer Stored-Prozedur vorgenommen werden, wo ich sie natürlich nicht auf den Enum-Wert tippen kann. Also, gibt es einen Ausweg, der mich über die einzelnen Werte informieren kann.
Wie im Beispiel wenn 11 gespeichert ist, kann ich es als "1+2+8"
Dies kann Ihnen helfen, um loszulegen:
%Vor% Dabei ist 11
Ihr gespeicherter Wert.
Dies liefert für jeden gesetzten Wert Werte ungleich Null (d. h. Select 11 & 1 As 'First'
gibt 1
zurück, Select 11 & 2 As 'Second'
gibt 2 zurück, Select 11 & 4 As 'Third'
gibt 0
zurück und so weiter.
Sie können bitweise Operationen in SQL
ausführen %Vor%Gib zurück, welche Flags gesetzt sind
%Vor%Tags und Links sql wpf sql-server c# tsql