c# - LINQクエリ、特定の小数点のある結果を無視

c# linq double where-clause decimal-point

C#で大規模なデータベースに対してLINQクエリを実行する必要があります。クエリで使用する必要がある列の1つはdoubleです。この列で小数点以下4桁を超える結果を除外する必要があります。他のプログラムがそれを使用し、私が望まないものを利用する必要があるので、データベースを変更することはできません。結果はリストに追加され、後で使用できます。これでうまくいくと思いました。

where fun.Units != '*.?????*'


ただし、文字リテラルに文字が多すぎるというエラーが返されます。
これまでのところ、クエリ全体は次のようになります

var clientQuery1 = from cli in main1.Clients
                   from pol in main1.Policies
                   from fun in main1.FundHoldings
                   from uni in main1.UnitPrices
                   where cli.AccountNumber == accNum
                   && pol.ClientRef == cli.ClientRef
                   && fun.FKeyRef == pol.PolicyRef
                   && uni.UnitPriceRef == fun.UnitPriceRef
                   && fun.Units != '*.?????*'
                   select uni.UnitName;
答え
以下のクエリで試して教えてください。

var clientQuery1 = from cli in main1.Clients
                   from pol in main1.Policies
                   from fun in main1.FundHoldings
                   from uni in main1.UnitPrices
                   where cli.AccountNumber == accNum
                   && pol.ClientRef == cli.ClientRef
                   && fun.FKeyRef == pol.PolicyRef
                   && uni.UnitPriceRef == fun.UnitPriceRef
                   && fun.Units == Math.Round(Convert.ToDouble(fun.Units),4)
                   select uni.UnitName;
関連記事

c# - HtmlTextWriter.WriteAttributeを単一引用符で行う方法は?

c# - DbConnection.GetSchema(“ Tables”)は、1つのデータベースのテーブルのみを返します

c# - Facebook C#SDK-壁に投稿

c# - 生成されたデータリーダーを使用したグリッドビューの並べ替えとページング

c# - 順不同のログファイルでの検索

c# - TabControlでの画像の配置に関する問題

c# - このクラスを一般的なクラスに変えることは可能ですか?

c# - 端末(Windows-CE)が5分後にシャットダウンしないようにする方法

c# - 要素の1つを取得、変更、保存できるようにするために、関連する値のリストを保存するために使用する必要があるもの

c# - エンタープライズライブラリdbcommand AddInParameterメソッド