Linqでの自動生成で全項目のwhere句が生成される趣旨のことがかずきさんのエントリに書かれてありました。
全項目のWhere句といえば、 ADO.NETの CommandBuilderが生成するSQL文がそうですね、「単一テーブルのメンテ等はノーコーディングでできる」という売りですが、これが結構曲者で、少し突っ込んだ仕様にすると足枷になる現場があったりします。
CommandBuilderの仕様上、複数のテーブルから生成するSQL文では対応できないのです。売り言葉を額面通り信じてコーディング標準に取り入れたりされると、迷惑を被ります。CommandBuilder生成を使えと強要されると、がっかりします。このようにするものだと信じてしまう新人がいるのでアカンでと思うのです。
この手のツールは便利ツールなので、局所的には重宝しています。しかし、これを使ってアプリを作ると使用上の制約で作りが冗長且つ歪になり、靴に足を合わせることになりがちです。
実務では単一テーブルだけの引用はは少なく、コードとコードに対応した表示値(商品コードと商品名など)を結合した引用にすることが多いです。
その引用の結果に変更追加を加える時は INSERT句/UPDATE句のWhere句をコーディングすることになります。この辺りのコーディング(楽観的排他の判定項目を盛り込んだ)が最低ラインだと思うのです。それを省略しようとする標準規約は????
便利ツールはインスタントラーメンだと思っています。小腹対策には丁度ですが、ディナーに用いるのは如何なものでしょう。