問題タブ [llblgen]
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.
asp.net-mvc - ASP.NETMVCおよびLLBLGEN
ASP.NET MVCおよびLLBLGEN(セルフサービスまたはアダプター)を使用するベストプラクティスまたはサンプルプロジェクトを知っている人はいますか?おそらくS#arpアーキテクチャに似たものです。
私はMVCを初めて使用し、LLBLGENの使用に制限されています。
sql - LLBLGEN: LLBGEN への Linq が機能しない
Linq を使用して、データベース テーブルからカスタム選択を行いたいです。ORM ソリューションとして LLBGEN を使用します。
GetMulti(null) メソッドを呼び出さない限り、エンティティ コレクション クラスに対して LINQ クエリを実行できません。
最初にすべてのテーブルを抽出せずに、LLBGEN に対して LINQ クエリを実行することは可能ですか?
sql - LLBLGen: あるデータベースから別のデータベースにテーブルをコピーする
同じテーブル スキームを持つ 2 つのデータベース (SQL Server 2005) があります。途中でデータを変更して、ソーステーブルから宛先にデータをコピーする必要があります。
また、宛先テーブルにすでにデータが含まれている場合、ソース テーブルの行は上書きされませんが、宛先テーブルに追加されます。
私たちのプロジェクトでは、LLBLGen と LINQ to LLBLGen を ORM ソリューションとして使用しています。
c# - ジェネリックなしの派生クラスでメソッドの戻り値の型を再定義する
TL;DR:
ジェネリックを使用せず、
new
キーワードを使用せずに、派生クラスがメソッドの戻り値の型をオーバーライドできるようにする抽象メソッドを基本クラスに追加する方法はありますか?
LLBLGen Pro 用のカスタム テンプレートの開発に取り組んでいます。その過程で、LLBLGen Pro が提供するデフォルトのテンプレートを変更することを拒否します。そのため、他の人が私のテンプレートを実装することを選択した場合に、私のアプローチによって他の人のファイルが上書きされることはありません。
私が取り組み始めた (そして順調に進んでいる) タスクの 1 つは、エンティティごとに DTO を生成するテンプレートを開発することです。これらの方針に沿って、目的の 1 つは私のエンティティにToDTO()
メソッドを提供することです。ジェネリック プログラミングの観点から、共通の基底クラス内でこのメソッドを定義することにしました。ここから問題が始まります。
基本クラスでメソッドを定義する目的は、特定のエンティティではなく、 で作業したいToDTO()
汎用リポジトリ (メソッドなどを使用) を作成しようとしているからです。 .Fetch()
CommonEntityBase
LLBLGen はそのCommonEntityBase
クラスを次のように定義します。
私の当初の計画は、私のメソッドを次のように別の部分クラスに追加することでした:
継承されたクラスは、次のように、メソッドで戻り値の型を基本クラスの戻り値の型から派生した型として定義できると思いました。
しかし、私は間違っていました。
私の2番目の試みは、ジェネリックを使用してクラスを定義することでした。
十分に単純です。私がしなければならないことは、生成されたエンティティ クラスがこの新しいエンティティ ベースから継承されるようにすることだけです。1つだけ注意してください。LLBLGen のテンプレートを上書きしたくないので、部分クラスに戻ります。
LLBLGen の個々のエンティティには、次の定義があります。
ここに私の問題があります。メソッドを機能させるには、次の定義で独自の部分クラスを作成する必要があります。
もちろん、これは不可能です。 なぜなら、私が今知っているように、
基本クラスを指定する [部分クラスの] 部分はすべて一致する必要がありますが、基本クラスを省略した部分は依然として基本型を継承します。
3 番目に試みたのは、基本クラスの関数定義をnewキーワードで単純にオーバーライドすることでした。
ただし、 としてキャストされたときにPersonEntity
のメソッドにアクセスできるようにしたいので、これは私のアプローチの目的を完全に無効にします。このアプローチでは、次のことを行います。ToDTO()
CommonEntityBase
null になってしまいdto
ますが、これは望ましくありません。
私の最初のアプローチと、それがうまくいかない理由について議論しているさまざまな リンクに出くわしました。通常、一般的な意味での解決策として私の一般的なアプローチを指しています。ただし、私の状況では、ジェネリックは機能していないようです。
これはすべて、私が達成しようとしていることが可能かどうかを尋ねるためのものです。
ジェネリックを使用せず、new
キーワードを使用せずに、派生クラスがメソッドの戻り値の型をオーバーライドできるようにする抽象メソッドを基本クラスに追加する方法はありますか?
それとも、間違った角度からこれに取り組んでいるのかもしれません。私の問題を解決できる他のテクニックがありますか?
編集
ポージェスのアプローチを採用して、エンティティで達成したいことのユースケースを次に示します。
c# - LLBL:複数のDBSpecificプロジェクトでDatabaseGenericプロジェクトを使用できますか
MSSQLCompactと「通常の」MSSQL2008の両方のソリューションでLLBLを使用しています。
同じDatabaseGenericプロジェクト(LLBLによって生成された)を使用して、異なるMS SQL Serverエディションを対象とする2つのDBSpecificプロジェクト(LLBLによって生成された)からそれを参照しても大丈夫かどうか疑問に思っていますか?
後でテストする予定ですが、プロジェクトの依存関係により、これを試すコストがかなり高くなります。試して失敗するのは時間の無駄になります。
私が見逃しているかもしれない他の選択肢があるかどうか私に知らせてください!
sql-server - LLBLGenカスケード削除?
LLBLGenで「カスケード削除」として最もよく説明されているように見えることを行う簡単な方法はありますか?私が探しているものの例:
あなたはこれらのテーブルを持っています:
ここで、特定の顧客とそれに依存するすべてのもの(すべての注文、およびすべての注文の注文の詳細)を削除したいと思います。IDを外部キーとして持つ注文を削除する前に顧客を削除すると、データベースは適合をスローするため、次のことを行う必要があります。
- 顧客を獲得する
- 顧客の注文を取得する
- 各注文のOrderDetailsを取得します
- 各OrderDetailを削除します
- 各注文を削除する
- 各顧客を削除する
さて、これはかなり一般的なタスクのようです-どこかにある種のDelete(Entity entityToDelete、bool isRecursive)関数があると思います。とにかく、これを行う簡単な方法はありますか?
orm - 複数の外部結合条件LLBLGen
カテゴリ別に記事を取得する次のLLBLGenコードがあります。基本的には、記事が削除対象としてマークされていない記事テーブルから選択し、ArticleTopicCategoryテーブルに参加して、特定のカテゴリ(category ='string')を取得します。
1対多で、Id、OrganizationId、ArticleIdを含むSuppressedArticleという名前の別のテーブルを追加しました。理論では、記事は複数のWebサイトにシンジケートされているため、「WebサイトA」が「ArticleA」を公開したくない場合は、それを抑制できます。つまり、SuppressedArticleテーブルにレコードを挿入できます。
記事の管理画面で、次の2つの条件で左結合を追加して、記事を抑制/抑制解除するためのリンクボタンを追加したいと思います。
左結合SuppressedArticleon(Article.Id =SuppressedArticle.articleIdおよびSuppressedArticle.organizationId='CC177558-85CC-45CC-B4E6-805BDD1EECCC')
このように複数結合を追加しようとしましたが、キャスト/変換エラーが発生しました:
「タイプ'SD.LLBLGen.Pro.ORMSupportClasses.FieldCompareValuePredicate'を'SD.LLBLGen.Pro.ORMSupportClasses.IPredicateExpression'に暗黙的に変換できません。明示的な変換が存在します(キャストがありませんか?)」
どんな助けでも大歓迎です!
c# - 10 進数フィールドで「like」の式ツリーを作成する
次のようなクエリ式の式ツリーを作成したいと思います: employee => employee.Salary.StartsWith("28")
そのため、SQL は次のように表示されます。 where (employee.salary like '28%')
問題は、従業員オブジェクトの Salary プロパティが小数であり、StartsWith が小数のプロパティではないことです。どうすればこれを行うことができますか。
私の誤った式ツリーの構文は次のとおりです。
.net - Entity Framework 4 を使用した LLBLGen Pro?
私は、次のプロジェクトでどの ORM を使用するかについて小さな調査を行っています。LLBLGen Pro/EF4に絞り込みました。
私の質問は:私は EF4 についてより確信しています。EF4 を単独で使用する必要がありますか、それとも LLBLGen Pro を購入して EF4 をターゲット フレームワークとして選択する必要がありますか? そうすることに利点/欠点はありますか?
ガイダンス/ポインタは大歓迎です。
c# - LLBLGenを使用して同じテーブルに複数回結合する
私はテーブルを持っています。それをウィジェットと呼びましょう。(とりわけ)person1idとperson2idがあります。(はい、NNリレーションテーブルを設定する必要があると思いますが、これまでのところ、1つのウィジェットに2人を超える人がいることはありません。)
Person1Id(およびもちろんperson2id)はpersonテーブルにリンクされており、yesはPersonDetailテーブルへの別のリンクです。
2人と2人の詳細を持つウィジェットのリストをクエリし、persondetailフィールドでフィルタリングするにはどうすればよいですか?ウィジェットにpersonidが1つしかない場合は、次のようにします。
では、どうすれば2番目の関係を取得できますか?relationsToUse.Add(WidgetEntity.Relations.PersonEntityUsingPerson2Id);
?
.net3.5でLLBLgen2.6を使用しています。私はここで関連する質問を見ましたが、それは同じではありません。