2016-04-05 4 views
0

データベースとその中にテーブルがあります。このテーブルには、このテーブルの項目で使用可能なフィルターを格納するフィルター列があります。クライアントからの部分的なフィルタをデータベースと比較する必要があります。例えば:このようなクエリの記述方法SELECT * FROM TABLE WHERE '%BLABLA':[% "BLABLA1"%]% 'Entity Frameworkを使用する

データベースフィルターカラム値:

"動物": "DOG"、 "CAT"、 "PARROT"、 "スネーク"]

及びクライアントから我々が受け取ります:

"ANIMAL":[ "PARROT"]我々の場合クライアントのFで

フィルタ列にANIMALPARROTがあるので、ilterは私たちに適しています。

だから普通のT-SQLにはこのようなもののように書かれます:

SELECT * FROM TableWithFilters WHERE Filter LIKE '%"ANIMAL":[%"PARROT"%]%' 

しかし、私は、エンティティフレームワークを使用して、これを書くことができるのか分からない、それは、少なくとも可能ですか?

答えて

0

だ あなたのための参考になると思います。

LINQを使用してデータベースからアイテムを引き出すことはできますが、これはデータベースへの接続方法によって異なります。このメソッドは私が接続し、 'ADOデータエンティティモデル'を使用しました。

ADOClass _entity = new ADOClass(); 

var result = (from d in _entity 
       where Filter.Contains("PARROT") 
       select d).FirstOrDefault(); 

これは100%正確ではないかもしれませんが、あなたの考えです。

LIKE operator in LINQ

あなたがLIKE演算子以下のように使用します
関連する問題