問題タブ [codefluent]
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.
codefluent - バグ: 基になる型名が無効です
列挙型の「基になる型名」プロパティを存在しないものに変更した場合 (タイプミス)。アプリケーションは、「CF0230: 無効な列挙型 'System.Int32System.Int16'」をスローします。エラー。それは結構です。
ただし、後でタイプを変更する方法はありません。エラーを修正するには、CFP を手動で編集する必要がありました。
c# - CodeFluent.Model.Common.Templating.Template クラスを使用するときに csc コンパイラ パラメータをカスタマイズしますか?
CodeFluent のテンプレート エンジンを使用して、カスタム SharePoint 2013 アプリケーションでカスタム メールを生成しています。SharePoint 2013 アプリは通常、SharePoint 2016 と前方互換性がありますが、SharePoint 2016 で SharePoint 2013 に対してコンパイルされたアセンブリを使用しようとすると、CodeFluent 関連の障害にぶつかりました。
SharePoint 2016 で Template.Run(..) が呼び出されると、次のエラーが発生します (16.0.0.0 アセンブリと SharePoint 2013 の 15.0.0.0 アセンブリ)。
CF7010: CodeFluent テンプレート '' 言語 'CSharp' を使用した例外: c:\windows\system32\inetsrv> "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe" /t:library /utf8output /R :"C:\Windows\assembly\GAC_MSIL\CodeFluent.Model.Common\1.0.0.0__1bb6d7cccf1045ec\CodeFluent.Model.Common.dll" /R:"C:\Windows\assembly\GAC_MSIL\CodeFluent.Runtime\1.0.0.0 __1bb6d7cccf1045ec\CodeFluent.Runtime.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll" /R:"C:\ Windows\assembly\GAC_MSIL\CodeFluent.Runtime\1.0.0.0__1bb6d7cccf1045ec\CodeFluent.Runtime.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System. dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\RLSoft.XtraShare.BusinessLayer\v4.0_3.0.0.0__ee2f606d34db8cb1\RLSoft.XtraShare.BusinessLayer.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_64\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll" / R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.SharePoint\v4.0_16.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.dll" /out:"C:\Users\SvcSpAppPool\AppData\Local\Temp \CFTemplating.Temp4.0.30319.42000\70804\CF_00000000001456124944.null.dll" /D:DEBUG /debug+ /optimize-Temp4.0.30319.42000\70804\CF_00000000001456124944.null.dll" /D:DEBUG /debug+ /optimize-Temp4.0.30319.42000\70804\CF_00000000001456124944.null.dll" /D:DEBUG /debug+ /optimize-/warnaserror "C:\Users\SvcSpAppPool\AppData\Local\Temp\CFTemplating.Temp4.0.30319.42000\70804\CF_00000000001456124944.null.cs" Microsoft (R) Visual C# コンパイラ バージョン 4.6.0081.0 for Microsoft (R) .NETフレームワーク 4.5 Copyright (C) Microsoft Corporation. 全著作権所有。c:\Windows\Microsoft.NET\assembly\GAC_MSIL\RLSoft.XtraShare.BusinessLayer\v4.0_3.0.0.0__ee2f606d34db8cb1\RLSoft.XtraShare.BusinessLayer.dll: エラーCS1701: エラーとして警告: アセンブリ参照 'Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' が 'Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' に一致すると仮定すると、ランタイムを指定する必要がある場合があります。ポリシー c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint\v4.0_16.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.dll.
この問題は、CodeFluent が明らかに /warnaserror フラグを使用して csc.exe コンパイラを呼び出すという事実に起因しているようです。警告がエラーとして扱われないように、この動作をカスタマイズする方法はありますか?
csc.exe.config と SharePoint Web アプリケーションの web.config ファイルの両方で bindingRedirect エントリを使用しようとしましたが、役に立ちませんでした。
誰もが以前にその問題に遭遇したように、もしそうなら、どのように解決しましたか?
codefluent - Equals メソッドに反映されないエンティティの複合キー
keyA と keyB の 2 つのキーを持つエンティティ "MultipleKeysEntity" が与えられます。
KeyA は列挙型です。KeyB は guid 型です。
BOM プロデューサーのおかげで Equals メソッド用に生成されたコードは、keyA を考慮していません。それは正常な動作ですか?
生成されたコードの下
ご回答有難うございます、
2016 年 8 月 29 日の編集
属性 checkDefaultValue を true に設定した後、Equals メソッドは期待どおりにプロパティを使用します。ただし、列挙型の最初の値は「無効な」値と見なされます。
特に、メソッド MultipleKeysEntityCollection::baseAdd() により、値「ONE」を使用できなくなります
Equals メソッドのコードは次のとおりです。
syncfusion - Syncfusion サンプル モデルのエラー メッセージ: インデックスと長さは、文字列内の場所を参照する必要があります
Github からダウンロードした Syncfusion サンプルからモデルをビルドすると、次のエラーが発生します。
インデックスと長さは、文字列内の場所を参照する必要があります
https://github.com/SoftFluent/CodeFluent-Entities/tree/master/Samples/SoftFluent.Samples.Syncfusion
http://www.syncfusion.com/products/wpfからWPFコンポーネントを含む前提条件をインストールしました
質問の最初の投稿後に追加された追加情報
エラーを Syncfusion WPF プロデューサーに切り分けました。プロデューサーを無効にすると、エラーはなくなります。ContactManager.SyncfusionProducer.dll を再コンパイルして、C:\Program Files (x86)\SoftFluent\CodeFluent\Modeler に配置してみました。同じエラーが発生しました。
codefluent - データベースの計算されたプロパティからの値は、codefluent エンティティ プロパティで Null です
私の MS SQL 2014 データベース テーブルには、データベース関数を使用する計算プロパティ列があります。SQL Server Management Studio を使用して、テーブルに対するクエリを実行すると、計算されたプロパティ値が期待どおりに一覧表示されます。
インポート ウィザードで作成された Codefluent モデルは、プロパティとして計算列を持つエンティティを示します。基になる .cpf ファイルは、"d3p1:compute=" とデータベース関数で使用されるパラメーターのリストを使用してプロパティを定義します。
エンティティまたはエンティティのコレクションが読み込まれると、計算されたプロパティで使用されるプロパティには値がありますが、計算されたプロパティには何もない/null の値があります。
Codefluent にデータベース テーブルから計算された値を読み取らせ、その値をエンティティのプロパティに含めるにはどうすればよいですか?
codefluent - デフォルトの持続性強制を true に設定すると、関連付けテーブルの行が削除されます
プロパティ defaultPersistenceEnforce は、プロジェクト レベルで true に設定されます。次の例を検討します。
テーブルCase
で参照されている連絡先が 1 つある場合、ストアド プロシージャの呼び出しはContact_Delete()
期待どおりに失敗します。
ただし、テーブルCase
に参照がない場合、ストアド プロシージャを実行Contact_Delete()
すると、関連付けテーブル内の行が削除されますMeeting_Contacts_Contact
。
そのような振る舞いを防ぎたいので、あまり意味がありません。特に、削除のカスケード関係は指定しませんでした。
特に参照されている場合、そのようなテーブルでタプルが消去されていないことを確認したいと思います。Contact_Delete()
Contact のみを削除し、参照を考慮しないストアド プロシージャを使用するにはどうすればよいですか?
ご回答有難うございます、
モデル パーツと Contact_Delete ストアド プロシージャの定義を同封しました。
ストアド プロシージャ Contact_Delete
sql-server - Codefluent で XML をメソッド パラメータとして使用する
SQL 2014 データベースには、XML をパラメーターとして使用するストアド プロシージャがあります。
XML をパラメーターの型として使用する Codefluent メソッドを作成しようとしています。パラメータは次のように定義されています。
これにより、次のように定義されたパラメーターを持つ DB プロシージャーが生成されます。
期待される代わりに:
パラメータの最大サイズを大きくしようとすると、さらに奇妙な結果が得られます。
SQL プロデューサーによって作成されたストアド プロシージャでパラメーターが XML として定義されるように、XML をメソッド パラメーターとして渡すにはどうすればよいですか?
また、XML CF 型が何をするのかを理解するのにも苦労しています。XML 型の CF エンティティ プロパティを作成すると、BOM はString型のクラス プロパティを生成します。このプロパティにxElementまたはxDocumentを割り当てると、すべての XML マークアップが取り除かれ、値の長い文字列が 1 つだけになります。この場合、このエンティティ (XML プロパティを含む必要があります) を SQL プロシージャのパラメーターとして使用すると、要素を選択する方法がない 1 つの長い文字列が取得されます。
codefluent - 生成された SQL で CQFL RAW メソッドのパラメーターがデフォルトの NULL 値を失う
RAW CFQL メソッドを作成しているときに、従来の SEARCH メソッドと比較して、パラメーターの宣言がデフォルトの NULL 値を失っていることに気付きました。
したがって、生成されたプロシージャは、NULL 引数を受け入れません。通常、私は次のことを望んでいます:
それ以外の
ここで使用する例は次のとおりです。
1 - RAW メソッドでパラメーターをデフォルトで NULL にするにはどうすればよいですか?
また、戻り値の型 (Return Type Name) を指定するプロパティが考慮されていないように見えることにも気付きました。生成されたメソッドは、選択した型ではなくvoidを返し、 EntityCollectionクラスではなくEntityクラスに配置されます。
このリンク1で、For syntax: RAW(arguments) を読みました。プロパティ グリッドで戻り値の型を指定する必要があります
生成されたメソッドはこのプロパティを考慮せず、次のように void を返します。
2 - RAW CFQL プロシージャでタイプに応じて返すにはどうすればよいですか?
ご回答有難うございます。