1

両方とも機能する2つのクエリがありますが、それらを1つの機能するクエリに組み合わせる必要があります

クエリ1

  var now = DateTime.Now;
  var twoWeeksAgo = now.AddDays(-14);

  var advert =
      from m in db.tbl_Property
      where m.Prop_Update >= twoWeeksAgo && m.Prop_Update <= now
      select m;

クエリ2

  var Props = 
      from n in db.tbl_Property.
      Where(c => c.Prop_AvailableSpaces > 0)
      select n;

ヘルプやアドバイスを歓迎します

4

4 に答える 4

3

これらのクエリを変更して、元のクエリ(またはタイプが何であれ)を渡すとIQueryable<Property>、次のことができます。

var advert = from m in source
             where m.Prop_Update >= twoWeeksAgo && m.Prop_Update <= now
             select m;

db.tbl_Propertyとして渡すと、次のようsourceになります。

var Props = from n in filteredProperties
            where n.Prop_AvailableSpaces > 0
            select n;

すなわち構成

于 2012-04-25T07:38:32.453 に答える
2

次のような意味ですか?

var now = DateTime.Now;
var twoWeeksAgo = now.AddDays(-14);

var advert = db.tbl_Property
               .Where(m => m.Prop_Update >= twoWeeksAgo && m.Prop_Update <= now
                           && m.Prop_AvailableSpaces > 0);

またはおそらく||と組み合わせる 代わりは:

var advert = db.tbl_Property
               .Where(m => (m.Prop_Update >= twoWeeksAgo && m.Prop_Update <= now)
                           || m.Prop_AvailableSpaces > 0);

(ここでは、単一のwhere句のみを使用しているため、クエリ式を使用していないことに注意してください。)

于 2012-04-25T07:38:17.763 に答える
0

多分このようなもの:

var advert =
            from m in db.tbl_Property
            where 
                (m.Prop_Update >= twoWeeksAgo && m.Prop_Update <= now)
                || (m.Prop_AvailableSpaces > 0)

            select m;
于 2012-04-25T07:37:57.970 に答える
0
     var advert = db.tbl_Property.Where(m => m.Prop_Update >= twoWeeksAgo 
     && m.Prop_Update <= now && m.Prop_AvailableSpaces > 0);
于 2012-04-25T07:39:20.720 に答える