エンティティへの linq は初めてで、contain メソッドの使用に問題があります。これが私のDBのサンプルテーブルです。
DataTable UserTable = new DataTable();
UserTable .Columns.Add("ID", typeof(int));
UserTable .Columns.Add("Name", typeof(string));
UserTable .Rows.Add(1,"Tom");
UserTable .Rows.Add(2,"Tom_dad");
UserTable .Rows.Add(3,"Tom_mom");
UserTable .Rows.Add(4,"Tom_sister");
エンティティへのLinqで、私はステートメントを書きました
entities edm = new entities();
var query= from a in edm .UserTable
where a.Name.Contains("Tom")
select a;
結果は、名前が正確に Tom である最初の行のみです。
4 行を含む結果を取得するにはどうすればよいですか? SQL LIKE メソッド %Tom% など。
助けてくれてありがとう。
環境: VS2010 / .Net FrameWork4
//アップデート//
ベン・ミレーンに感謝します。ステートメントの後ろに ToList() を追加すると機能します。
var query= (from a in edm .UserTable
where a.Name.Contains("Tom")
select a).ToList();
2つのステートメントの違いは何ですか? なぜこの改善が機能するのか不思議です。