タグ

LINQに関するkawachoのブックマーク (6)

  • LINQで書くとデバッグしづらいよね?そんなことないよ - かずきのBlog@hatena

    小ネタです。 LINQで処理をぱぱっと1ステートメントで書けると気持ちいいですよね。 でも、デバッグ難しくない?ということがあるのですが大丈夫です安心してください。 ブレークポイントのはり方のコツさえつかめば大丈夫です。例えば以下のようなコードがあるとします。 using System; using System.Linq; namespace ConsoleApp10 { class Program { static void Main(string[] args) { var numbers = new[] { 1, 2, 2, 3, 3, 3, 4, 4, 4 }; var values = numbers .Where(x => x % 2 == 0) .Distinct() .Select(x => x * x); foreach (var value in values) {

    LINQで書くとデバッグしづらいよね?そんなことないよ - かずきのBlog@hatena
  • Chapter15 LINQとクエリ式(18/25) - @IT

    15.18 join句の左外部結合 グループ化結合は上記のように二重の繰り返しを必要とする。これは、ある商品を販売している店舗一覧を知りたい場合には便利だが、単に「商品」と「販売店」の組み合わせリストだけがほしい場合は冗長である。 そこで、さらにクエリ式にfrom句をもう1つ追加することで、二重の繰り返しを再度単層の繰り返しに変換させることができる(リスト15.22参照)。 using System; using System.Linq; class Program { class 商品情報 { public int Id; public string 名前; } class 商品販売価格 { public int Id; public string 店名; } static void Main(string[] args) { 商品情報[] 商品情報データ = { new 商品情報()

    kawacho
    kawacho 2016/06/03
    LEFT OUTER JOIN, DefaultIfEmpty
  • 第7回 LINQ応用編(2/3) - @IT

    join句のグループ化結合 前回の最後に述べたとおり、クエリ式には複数のソースを関連付けるjoin句がある。そして、join句には前回紹介した「内部結合」のほかに、「グループ化結合」と「左外部結合」が存在する。今回はこの2つを見ていこう。 前回の内部結合は、2つのソースに一致する値を見いだした時点で、続きのクエリを発動できた。例えば、「ID番号と商品名を持つソース」と、「ID番号と価格を持つソース」を使い、ID番号で内部結合を行えば、商品名とそれに対応する価格を結び付けることができた。 しかし、この機能は場合によっては十分ではない。同じ商品を異なる店舗で別の価格で販売している場合、商品名に対する価格は複数になってしまう。さらに、価格ごとに「どの店での値段か」という情報も添えねばならない。 このようなケースでは、「内部結合」ではなく「グループ化結合」を使用するとよい。グループ化結合は、joi

    kawacho
    kawacho 2016/06/02
  • LINQ to Entities の遅延評価と AutoMapper が便利という話 - Qiita

    Advent Calendar 初参加です。よろしくお願いします。 記事の概要 LINQ to Entities の遅延評価は便利 N+1問題を回避するために ViewModel を用意すると便利 AutoMapper の IQueryable拡張メソッド ProjectTo<T>() を使うと便利 個人的に、ASP.NET MVC & EntityFramework で一番便利なのは LINQ to Entities による遅延評価だと思っています。 LINQによるいつものコレクション操作(LINQ to Objects)とほぼ同じようにデータベースからデータを引っ張ってこれます(LINQ to Entities)。 IQueryable<Book> books = dbSet .Where(b => b.Price < 3000) .OrderBy(b => b.Title); LI

    LINQ to Entities の遅延評価と AutoMapper が便利という話 - Qiita
  • 【LINQの前に】ラムダ式?デリゲート?Func<T, TResult>?な人へのまとめ【知ってほしい】 - Qiita

    【LINQの前に】ラムダ式?デリゲート?Func<T, TResult>?な人へのまとめ【知ってほしい】C#.NETLINQ.NETFramework はじめに 引数にラムダ式を渡す ラムダ式の型はFuncとActionが用意されている ラムダ式はデリゲートを作るためのもの このような記述や説明をしているC#関連のブログをたまに見かけます。実はこれらは正確には違ったり、正しくなかったり、ちょっと足りなかったりします。「先ほどの説明は正しいのではないか?」と思った方、ぜひこの投稿を読んでください。ラムダ式やその関連要素についての理解が深まると思います。 そして、「LINQを勉強したいのだけれど、ラムダ式とかFunc<T, TResult>とかわからん!」、「Func<TSource, bool>型の引数をとるメソッドに、『num => num > 0』とラムダ式を書いているけれど、それがどう

    【LINQの前に】ラムダ式?デリゲート?Func<T, TResult>?な人へのまとめ【知ってほしい】 - Qiita
  • 第8回まどべんよっかいち「LINQ基本のキ」

    堅い話ですいませんが、お約束と言う事で: ブログに掲載されている記事は、投稿者個人の見解です。所属する団体・組織においての見解や方針は、その組織の目的に従っているため、記事の内容とは異なる場合があります。 また、掲載される記事の正確性について、投稿者は一切責任を負いません。情報を利用される場合は、ご自身の責任において内容を判断して下さい。 Articles posted on this blog is posted by personal opinion. Because views in the institution, organization and policies conform to the purpose of the Organization, may differ from the contents of the article. Also about the accu

    第8回まどべんよっかいち「LINQ基本のキ」
  • 1