質問

他の ibpc貿易引合掲示板はLinq To Sql支援composable問合せ があったのかの議論の構成/concatる条項ます。これを利用する"、"すなわち最初のwhere節のwhere節が加されます。かんがいう構成でLinqクエリー、。

例:

var people = from p in Person
             where p.age < 18
             select p

var otherPeople = from p in people
                  where p.firstName equals "Daniel"
                  select p

これは人名の"ダニエル"とは18となります。を探している書式ではこれらの見人名の"ダニエル"では18.

注意:を使用していADO.net データサービスでは存在しないかもしれません。Contains()利用可能です。

編集:Eu提案(ゲリー Shutler)はどない機能ました。っ走ることができ問題ないものとします。

  1. ということができるとされていること、複数のデータベースのヒットだったな第三の条件(ユニオさんによるもIEnumerableとしてそのパラメータ)-つくろうと思いましたの構築、およびまたは諸表のコードを実行しつ。
  2. 連合によってサポートされていないADO.Net データサービス(詳しい内容は、出版社のウェブサ)
役に立ちましたか?

解決

あなたに簡単なように何をしたいです

var people = from p in Person
             where p.age < 18 || p.firstName == "Daniel"
             select p;

またはあなただけの簡単な例を与えている?

その場合は、使用することができます:

var under18 = from p in Person
              where p.age < 18
              select p;

var daniels = from p in Person
              where p.firstName == "Daniel"
              select p;

var combined = under18.Union(daniels);

LinqToSqlはORにそれを変換するのに十分なインテリジェントかもしれませんが、私はそうはわからない。

他のヒント

何ジョーAlbahariで PredicateBuilder に使用してはどうですか?

var predicate = PredicateBuilder.False<Person>();
predicate = predicate.Or(p => p.age < 18);
predicate = predicate.Or(p => p.firstName == "Daniel");

var query = Person.Where(predicate);

述語オプションは、移動するための方法です。連合のオプションは良いSQLを構築するものではありません。参考ます。http:// social.msdn.microsoft.com/forums/en-US/linqprojectgeneral/thread/925b245d-5529-4a64-8cd4-4bc83ee6fe7a/する

私は私のブログ上のセット内のキー値を検索クエリを達成する方法について書きました。 ここでは、関連するリンクがあります。

<のhref = "http://blogs.msdn.com/phaniraj/archive/2008/07/17/set-based-operations-in-ado-net-data-services.aspx" のrel = "nofollowをnoreferrer ">は、私がをADO.NET Data Servicesのパートでの操作が含まれています。

<のhref = "http://blogs.msdn.com/phaniraj/archive/2008/07/17/set-based-operations-in-ado-net-data-services.aspx" のrel = "nofollowをnoreferrer "> ADO.NET Data ServicesのパートII の

での操作が含まれています

これを使用すると、この
ように見えるクエリを書くことができます //The set in which we have to search for a match
List<string> citiesIWillVisit = new List<string>() {"London","Berlin","Prague"};
var customersAround = nwContext.Customers
.IsIn<Customers>(citiesIWillVisit, c=> c.City);
foreach (Customers localCustomer in customersAround) {
System.Console.WriteLine(localCustomer.ContactName);
}

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top