この例を参照します:選択した指定された列を返す
引用: BlobDetails が LINQ エンティティでない場合は、直接実行できます。
var qry = from b in dc.Blobs
orderby b.RowVersion descending
select new BlobDetails {
Id = b.Id, Size = b.Size,
Signature = b.Signature, RowVersion = b.RowVersion};
return qry.ToList();
ORM ツールの LINQ TO SQL を使用して、クエリ内の特定の列を選択していることがわかります。ORM ツールの批評家は、私の記憶が正しければ、ORM ツールはテーブルからオブジェクト全体を選択して返し、従来の SQL プログラミングでできるように特定の列のみを選択するオプションを制限すると言います。もちろん、この例を見たとき、私はそれについて疑問を持っていますが、それにもかかわらず、データベースは選択された列のみを返すのか、それともオブジェクト全体を返し、列のフィルタリングをORMツール?
この例では、Blobdetails というクラスもあります。
public class BlobDetails
{
public int Id { get; set; }
public string Signature { get; set; }
public int Size { get; set; }
public System.Data.Linq.Binary RowVersion { get; set; }
}
LINQ を使用してテーブルからいくつかの列を選択するだけの場合、毎回独自のクラスを作成する必要がありますか?