でサポートされています。列挙型とフラグが原因私のエラーメッセージにormlite servicestack
An exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll but was not handled in user code
Additional information: Conversion failed when converting the nvarchar value 'AB' to data type int.
私はABの値を持つ列挙型を持っていると私は、整数データ型はnvarcharない値として保存します。 [フラグ]
public enum VisibleDayOfWeek : int
{
None = 0,
Monday = 1,
Tuesday = 2,
Wednesday = 4,
Thursday = 8,
Friday = 16,
Saturday = 32,
Sunday = 64
}
私はデシベルで複数の日文字列を保存することはできませんが、私は複数の日を表すフラグ値の合計を保存することができます: 私は旗を持つ列挙型を持っているようなものを属性。
これらの列挙プロパティの周りに整数ラッパーを作成したくありません。
列挙型の基になる型はバイトまたは整数なので、どうしてheckはstring/varcharとして保存されるのですか?それは意味をなさない。エンティティフレームワークであっても、数年後に列挙型サポートが得られました...
この場合の解決策は何ですか?私の知る限りは、次のバージョンを知ってormliteバージョン3のdoesntのサポート列挙型を、知っているようにhttps://github.com/tapmantwo/enumflags
私の質問で前に述べたように、私は整数ラッパーを望んでいません。そして、多くの部分では、オルミテッドはEFよりも豊かです。 EFには、更新、削除などの部分的な更新または式ベースのAPIはありません。 Ormlite v4はしばらく外に出ています。 – HelloWorld
これは、あなたがormiteが持っていない機能をとっているからです。整数ラッパーやフォークormlite以外のソリューションはありませんし、Enumをサポートするようにしてください。 – kirie
Flagsはすでにバグとして報告されています。今私は、著者がint型ではなく文字列型へのenum値がバグであることを確認するのを待っています。 https://github.com/ServiceStack/ServiceStack.OrmLite/commit/6c4c608443e919aac23b647f97fed1c86d89c52d – HelloWorld