問題タブ [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 投票する
1 に答える
248 参照

rest - これはPATCHの良いパターンですか?

PATCHオブジェクトを編集できるRESTスタイルのAPIを実装しています。この操作の目的はPATCH、クラス内の 1 つ以上のプロパティを、設定可能な他のプロパティに影響を与えることなく更新できるようにすることです。

ServiceStack OrmLiteページの部分的な更新の例ですが、 どのフィールドが部分的に更新されるかを示すためにハードコーディングが必要なようです。私のシナリオでは、送信するフィールドを決定するのは依存アプリケーション次第です。

オブジェクトがまだ永続化されていない可能性があるというシナリオにも対処する必要があります。

これを回避するために、以下を実装しました。

それは機能しますが、何かがおかしいと感じます。もっと良い方法があるに違いないと思いますか?

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

c# - ServiceStack.OrmLite で実行時にクラスのテーブル名を取得する / テーブル名のハードコーディングを避ける

ServiceStack.OrmLiteを使用していて、テーブルから行の総数を取得したいと考えています。私は現在、 ServiceStack.OrmLiteのドキュメントで指摘されているようにしています

ただし、テーブルの名前Userは将来変更される可能性があるため、ハードコーディングしない方法を探しています。次のように、対応するクラスからテーブルの名前を取得することは可能ですか

?

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

sql - SQL Server で行のバージョン管理を解決する

新しいデータベースをモデル化しようとしています。要件の 1 つは、異なる行のバージョンを保持することです。同じオブジェクトの 2 つのバージョンのサンプルを次に示します。

このテーブルを参照として外部キーを作成するには、主キーを指定する必要があります。2 つの候補はIDUID1 つ目はauto increment数値、2 つ目はオブジェクトごとに手動で生成された一意の識別子です。

制限:

ID主キーとして選択する場合:

  • オブジェクトの新しいバージョンが作成されると、古いバージョンへのすべての参照が無効になり、更新する必要があります
  • 各挿入のすべての参照を手動で更新することはオプションではなく、非常に重い

UID主キーとして選択する場合:

  • UIDは一意ではないため、単独では使用できません。他のフィールドに関連付けて、複雑な主キー内で使用する必要があります
  • 使用される他のすべてのフィールドが変更される可能性があり、外部キー参照にブレーキがかかる可能性があります。

これらの制限を克服するための最良のアプローチ (可能な限り軽量) について何か提案はありますか?

PS : OrmLite を使用して、POCO オブジェクトを使用してデータベースをモデル化しています。

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

servicestack - ServiceStack.OrmLite で複雑なデータを照会するにはどうすればよいですか?

私は次のクラスを持っています:

そうすることでデータを挿入できますが、

Displayおよび表示データがとして列に追加されます{Options:[opt1,opt2,opt3]}。今、私はフォロークエリを書くことに頭を悩ませることができません。

助けてください。

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

c# - ormlite - poco ファイルを生成する

私はORMLiteが初めてです。Entity Framework では、既存のデータベースから (CodeFirst を使用して) POCO ファイルを作成できます。これは Ormlite で可能であるとどこかで読みましたが、ドキュメント内には見つかりませんでした。

ORMLite がこの機能をサポートしていない場合に備えて、poco クラスを作成するためのフレームワークを推奨してください (EF で poco を生成したくありません!)。

ありがとうございました!

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

c# - カスタム クエリを使用して、ID のリスト内に ID が存在するアイテムを選択する

dapper では、次のようなことができます。

ormliteで同じことをしようとしています:

エラーを返します。Dapper は次のようにクエリを作成します。

ormlite が生成する場所:

角括弧は MySQL では無効です。ormliteでこれを行うことは可能ですか?

dapper の例のように、匿名クラスを使用してパラメーターをリストしようとすると、2 番目のパラメーターが見つかりません。

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

c# - OrmLiteのSQLServer固有のタイプのサポート

私は自分の仕事の多くを単純化する天才タイプについて学びましたが、私の好みのORMはそれを認識していないようです。

ServiceStackOrmLiteがSQLServerで認識できるようにするための回避策はありHierarchyIdますか?変更するファイルに関する提案や、続行するためのヒントはありますか?

編集 :

これが問題のより良い例です。私は次のクラスを持っています:

SqlHierarchyIdは、カスタムSQLServerデータ型です。OrmLiteは、次のクラスを生成します。

最初のMyClassレンダリング

[StringLength(255)]おかしなことに、プロパティの属性を使用すると、varchar(255)代わりにタイプが取得されます。

2番目のMyClassレンダリング

ここでテーブルを手動で変更し、違いを示すために列のデータ型を追加しました。3番目の列のデータ型に注意してください。

SqlHierarchyId

表現を持つことは、 C#内で変換できるためvarchar、他のDBMSでもまったく問題ありませんが、SQL Serverでは、対応するデータ型と一致させることが望ましいです。これにより、ビューの作成が簡単になります(データ型の組み込み関数のため)。hierarchyid

このタイプはEF4でサポートされていないことを知っています(5についてはわかりません)。また、GitHubでOrmLiteDialectProviderBase.csファイルを参照すると、サポートされているADO.NETデータ型のリストを確認できます。

私の簡単な質問は次のとおりです。これはADO.NETによる強力な制限ですか、それともOrmLiteでいつか見られる可能性がありますか?何か提案があれば、この部分の拡張を喜んでお手伝いします。

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

c# - サービススタックormliteに複合主キーを実装しますか?

複合主キーを持つデータベース内のテーブルを表すpocoクラスを実装するにはどうすればよいですか?つまり、id1とid2があり、これらが一緒になって主キーを構成します。ここには実際の自動増分IDはありません。

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

repository-pattern - ServiceStack.ORMLite を使用したリポジトリ パターンでのトランザクション

次のように ServiceStack.ORMLite を使用してリポジトリ パターンを実装しています。

しかし、DbTransaction で DB 操作をワープする必要があるときに DbTransaction を処理する方法がわかりTransactionScopeません。解決策のように見えますが、これには重すぎるかどうかはわかりません。