オク、私は2つの質問があります。C#、MVC4 - EF Linq検索
----------------------------------------------
| | column1 | column2 | column3 | ... |
----------------------------------------------
| row1 | "1,2,3,4" | "5,6,7,8" | "9,a,b,c" | ... |
----------------------------------------------
| row2 | "d,e,f,g" | "h,i,j,k" | "l,m,n,o" | ... |
各セルは4が含まれています。最初は、のiは、各セルはそのようなVARCHAR(100)のように定義される「stringData」という名前のデータテーブルを保持している「EntitiesDefinitions」と呼ばれるEFを、持っているとしましょう、ですコンマで区切られた情報だから私が知りたいのは、column1のすべてのセルの2番目の情報を(例として)Linqで検索する方法があれば?
using (EntitiesDefinitions ef = new EntitiesDefinitions())
{
var v = (from a in ef.stringData where (a.column1... == "e") select a);
}
私はちょうどセル当たり4列(column1_1、column1_2、... column2_1、column2_2、...)を作ることができる知っているが、私は250元の列を持つテーブルを取得する場合には動作しないでしょう。そのような検索を実行する方法はありますか?
その他の質問もこれに関連しています。戻るASP.NETで私はこのような文字列を使用して、私のSQLにクエリを送信できます。
var stringSql = "SELECT * FROM" + "stringData" + "WHERE ([" + "column1" + "] =" + "e" + ")" + "ORDER by ["+ "column1" +"] ASC;"
基本的に、私はそのプロパティ/列を表す与えられた文字列値を検索するためにどのテーブルを定義することができます。 EFのlinqsでそれを行う方法はありますか?
using (EntitiesDefinitions ef = new EntitiesDefinitions())
{
var v = (from a in ef.stringData where (a.["column1"]... == "e") select a);
}
私はMVCとEFでかなり新しいので、これが可能かどうかを知りたいと思います。
250 columns .... C#の前にも、テーブルをcolumn_name、column_valueのコレクションにアンピボットするビューを作成してデータベースを修正することをお勧めします。次にlinqを使用してビューから選択し、あなたが必要とするものをしてください –
さて、N +(250 * 4)列まで拡張できる元の250本の列。限界を超えています。これは、共通のID列で結合された2つの並列テーブルを作成することで簡単に解決できます。しかし、私はすべてをただ一つに保ちたい。しかし、私は、複数の区切り記号でlinq検索セルを見つける方法を見つけたと思います。 – MMan