私はGitLabにリンクされたチェンジログWebアプリケーションを作成しています。 GitLabを押してください。C#LINQ変数が "M ####"で始まるかどうかを確認する方法は#が数字です
プッシュを行うには、カスタムIDをメッセージ領域に追加し、それにメッセージを追加します。このカスタムIDは必須です。 M ####/C#####/Merge/Revert。 #は数値(0〜9)を表します。それは、後にフィルタリングするために使用することができるように
アプリケーションは、すべてのプッシュのIDを認識しなければならないなど
以前私は、唯一のM ####とC#####を選択するには、このコードを使用しました一度「Merge」がIDとして使用されると、それも表示されます。
var query = from c in db.Clgcom
where c.Prjid == 7
&& (c.Modid.StartsWith("C")
|| c.Modid.StartsWith("M"))
select c.Modid;
結果:
M1234, M2345, C12345, M0000, C75843, Merge
を使用すると、動作しない、と私は10の異なるケースを使用するよりも、この他を解決する方法は考えを持っていないしました。
where c.Modid.StartsWith("M0")
|| c.Modid.StartsWith("M1")
|| c.Modid.StartsWith("M2")
|| c.Modid.StartsWith("M3")
// etc.
私の問題を解決する良い方法はありますか?
編集:私はEntity Frameworkを使用しているため、正規表現で問題が発生する可能性があります。
このLinq 2 ObjectsまたはLinq 2のSQLまたはEntity Frameworkなど、それはどちらですか? –
@ LasseV.Karlsen Entity Framework – Roy123
その後、10件の場合にとどまります。悪い設計が悪い解決策を育むか、データベース側でクエリのその部分を削除し、最終結果(フィルタリングされていない)をリストまたはIEnumerableに変換し、通常のLinq 2オブジェクトでこの部分を処理します。どちらも理想的ではありません。 –