問題タブ [ormlite-servicestack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
757 参照

parameterized-query - ServiceStack.OrmLiteパラメータの長さを指定する方法

パラメータ化されたクエリを使用すると、パラメータの長さが渡された値の長さに設定されるようです。

次のようなことをします:

パラメータをNVARCHAR(4)にするため、長さが異なる次のクエリは、キャッシュされたプランを見逃し、新しいプランを作成します。

指定した長さだけを使用するように変更するにはどうすればよいですか。

0 投票する
0 に答える
213 参照

c# - ORM の使用時にクラスとテーブル スキーマの同期を維持する

私は ORM の経験があまりありません。マップされたクラスからのプロパティの追加/削除を、理想的には自動で汎用的な方法で処理する最良の方法を見つけようとしています。

ServiceStack.OrmLite と SQLite を使用しています。

データベースの目的はドキュメント ストアです。外部キー/参照整合性の問題はありません。

例えば

列 Bar、Baz を持つテーブル Foo を作成します。

理想的な世界では、Foo クラスは決して変更されないため、これについて心配する必要はありませんが、実際には変更される可能性があります。

Foo にも Quz プロパティが必要だとしましょう。

読み取りは問題なく、Quz は null として返されるだけですが、Quz 列がないため挿入に失敗します。意味あり。

Baz が不要になったとしましょう。

読み取り/挿入は正常に機能しますが、基になるテーブルにはまだ少し面倒な Baz 列があります。

これはサーバー アプリであり、頻繁に再起動されることはないため、いくつかの点を考慮して却下しました。

  • 開始時に、Foo テーブルが存在する場合は、それを一時ストアに読み込み、Foo を削除して再作成し (テーブルが正しいスキーマで作成されることを意味します)、データを再挿入します。これは正常に機能しているように見え、スキーマとクラスの同期を維持しますが、遅すぎます。

  • 最初に、基礎となるテーブルにクエリを実行してその列定義を取得し、リフレクションを使用して Foo クラスの列が実際にどうあるべきかを判断します。必要に応じて列を追加/削除します。このアプローチを機能させることができると確信していますが、理想よりも複雑であり、それが良い考えであるとは確信していません.

0 投票する
2 に答える
4727 参照

servicestack - servicestack ormlite 部分更新

ServiceStack Ormlite を使用して、データベース テーブルを部分的に更新しています。

私はモデルを持っています:

しかし、フィールド Property1 と Property2 のみを更新したいと考えています。

誰もこれを行う方法を知っていますか?

ありがとう。

0 投票する
1 に答える
1458 参照

c# - ビューの ServiceStack ORMLite サポート

ORMLite が SQL から何かを読み取り、同じ形状の POCO に適合させる方法について、mythzの投稿を読みました。それは素晴らしい。

一方、ORMLite はこれらの「ビュー POCO」をデータベースに保存するときにどのように処理しますか? これらはテーブルではないため、ビューである場合もあれば、次のような SQL 選択クエリである場合もあります。

0 投票する
2 に答える
1884 参照

servicestack - servicestack ormlite と外部キーを同じテーブルに

リンクのテーブルがあり、一部のリンクは子リンクになり、親リンク ID を参照しますが、servicestack ormlite に頭を悩ませ、子のプロパティを設定することはできません。すべてのリンクのリストを取得すると、すべての子リンクになります。

これが私のモデルです:

何か案は ?

0 投票する
2 に答える
494 参照

sqlite - ServiceStack.OrmLite.Sqlite64 の例が機能しない

VS 2012 Desktop Express を使用して .NET 4.5 で実行しています。NuGet を使用して、ServiceStack と ServiceStack.OrmLite.Sqlite64 を取得しました。次に、 http://code.google.com/p/servicestack/wiki/OrmLiteにある非常に単純な例を使用して、次のように記述しました。

上記のコードはコンパイルされますが、ServiceStack.OrmLite.SqliteNET がコンパイルされたものとは異なる System.Data.Sqlite バージョンを使用していることを示す実行時例外が発生します。NuGet から提供されたバージョンは 1.0.81.0 でしたが、ランタイム例外はバージョン 1.0.65.0 を探しているようです。

私は NuGet を初めて使用するので、何か間違ったことをした可能性がありますが、何が間違っているのかを判断できませんでした。助けていただければ幸いです。

0 投票する
1 に答える
4372 参照

sql-server - 複数のデータベースサーバーを備えたServiceStackOrmLite

私はservicestackフレームワークを中心にアプリを構築しており、OracleとMSSqlServerの両方のデータにアクセスできる必要があります。これはORMLiteを使用して可能ですか、アプリに1つの方言しか設定できないようですか、それとも何かを見逃したことがありますか?

0 投票する
1 に答える
931 参照

c# - where句が空の結果を返す整数の主キーを持つSQLite選択クエリ

主キー「ID INTEGER AUTOINCREMENT」を使用して、ServiceStack.OrmLite を使用していくつかのオブジェクトを SQLite データベースに保存しています。すべて正常に動作します。

しかし、「SELECT * FROM Table WHERE (ID = 112) OR (ID = 113)」というクエリでオブジェクトを読み込もうとすると、結果が空になります。

where句を「(ID + 0 = 112)OR(ID + 0 = 113)」に変更すると、結果に2行あります。sqlite コマンド ライン ツールでデータベースを調べると、すべてのレコードがここにあり、列の型が INTEGER で、すべての行の typeof(ID) が「整数」を返すことがわかります。何が間違っている可能性がありますか?

0 投票する
1 に答える
1381 参照

ormlite-servicestack - ORMLite 方言

この [質問] (http://stackoverflow.com/questions/13691575/servicestack-ormlite-with-multiple-database-servers) に対する回答に従いましたが、まだエラーが発生しています。エラーは次のとおりです。

{System.Data.SqlClient.SqlException (0x80131904): 無効なオブジェクト名 'dual'。System.Data.SqlClient.SqlConnection.OnError で (SqlException 例外、ブール値の breakConnection、アクション1 wrapCloseInAction) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) で System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) で System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() で System.Data.SqlClient.SqlDataReader.get_MetaData() で System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) で System.Data System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource1 completion, Int32 timeout, Task& task, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior) at ServiceStack.MiniProfiler.Data.ProfiledDbCommand.ExecuteDbDataReader(CommandBehavior behavior) at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader() at ServiceStack.OrmLite.OrmLiteReadExtensions.ExecReader(IDbCommand dbCmd, String sql) in C:\src\ServiceStack.OrmLite\src\ServiceStack.OrmLite\OrmLiteReadExtensions.cs:line 48 at ServiceStack.OrmLite.OrmLiteReadExtensions.GetScalar[T](IDbCommand dbCmd, String sql, Object[] sqlParams) in C:\src\ServiceStack.OrmLite\src\ServiceStack.OrmLite\OrmLiteReadExtensions.cs:line 498 at ServiceStack.OrmLite.Oracle.OracleOrmLiteDialectProvider.GetNextValue(IDbCommand dbCmd, String sequence, Object value) at ServiceStack.OrmLite.Oracle.OracleOrmLiteDialectProvider.ToInsertRowStatement(Object objWithProperties, IListC:\src\ServiceStack.OrmLite\src\ServiceStack.OrmLite\ OrmLiteWriteConnectionExtensions.cs 1.ToInsertRowStatement(Object objWithProperties, IDbCommand command) in C:\src\ServiceStack.OrmLite\src\ServiceStack.OrmLite\OrmLiteDialectProviderBase.cs:line 439 at ServiceStack.OrmLite.OrmLiteWriteExtensions.Insert[T](IDbCommand dbCmd, T[] objs) in C:\src\ServiceStack.OrmLite\src\ServiceStack.OrmLite\OrmLiteWriteExtensions.cs:line 394 at ServiceStack.OrmLite.OrmLiteWriteConnectionExtensions.<>c__DisplayClass42:line 164 の ServiceStack.OrmLite.ReadConnectionExtensions.Exec( IDbConnection dbConn、アクション1 filter) in C:\src\ServiceStack.OrmLite\src\ServiceStack.OrmLite\Expressions\ReadConnectionExtensions.cs:line 55 at ServiceStack.OrmLite.OrmLiteWriteConnectionExtensions.Insert[T](IDbConnection dbConn, T[] objs) in C:\src\ServiceStack.OrmLite\src\ServiceStack.OrmLite\OrmLiteWriteConnectionExtensions.cs:line 164 at ServiceStack.ServiceInterface.Auth.OrmLiteAuthRepository.<>c__DisplayClass5.<CreateUserAuth>b__4(IDbConnection db) at ServiceStack.OrmLite.OrmLiteConnectionFactoryExtensions.Run[T](IDbConnectionFactory connectionFactory, Func2 runDbCommandsFn) C:\src\ServiceStack.OrmLite\src\ServiceStack.OrmLite\OrmLiteConnectionFactory.cs:line 171 at ServiceStack.ServiceInterface.Auth.OrmLiteAuthRepository.CreateUserAuth(UserAuth newUser, String password) at ServiceStack.ServiceInterface .Auth.RegistrationService.OnPost(登録要求) ServiceStack.ServiceInterface.RestServiceBase`1.Post(TRequest 要求) ClientConnectionId:55977ae9-775d-474f-a543-d4cdfeb66a0d} で

私は次のコードで物事を設定しています:

少しして、Oracle サーバーに保持されている欠員データベースへの接続をセットアップしました。

欠員データベースへの接続は正常に機能しますが、認証データベースにユーザーを登録しようとすると、上記のエラーが発生します。オラクルの方言を保持しているように思えますか?

0 投票する
2 に答える
286 参照

c# - メッセージ ベースのリクエストから where フィルタを作成する

フィルタリングする小さなリクエスト オブジェクトがあります。

そして、db リクエストの where フィルターを構築する必要があります。

Entity フレームワークを使用して、Where ステートメントをそのように構築することができました。

エンティティ フレームワーク クエリは遅延ロードされますが、OrmLight クエリではないため、OrmLight の where ステートメントを作成する方法がわかりません。