تفاوت دیتاست DataSet و دیتاویو DataView

سوالی که در ذهن خیلی از ما همیشه وجود داره و البته چند تن از کاربران هم درخواست این رو داشتن که در موردش توضیح داده بشه…

DataSet‌ در واقع یک منبع منفصل از داده هاست به این معنی که به محل اصلی داده ها دائم وصل نیست و در هنگام بارگذاری داده ها را از منبع آنها مثل SqlServer یا Access خوانده و در خود ذخیره می کند و دیگر نیازی به اتصالات و فراخوانی های پی در پی و زائد به منبع اصلی داده ها ندارد.

اما DataView چیست و فرق آن با DataSet ؟
یک DataSet در اصل می تواند View های مختلفی داشته باشد.DataView ها زیرمجموعهء DataSet ها هستند.
یک DataView میتواند دقیقا همان اطلاعات یا مقدار کمتر از اطلاعات یک DataSet را نمایش دهد.
هر DataSet یک DataView دارد که اگر آنرا تعریف نکنیم (?)DataView است.
وقتی چیزی را به DataSet بایند (Bind) می کنیم یعنی به(?)dataset.dataview بایند کرده ایم.

DataView دیدگاه خاصی از داده ها هستند که قابلیت سفارشی سازی دارند یعنی می توانیم آنرا فیلتر کنیم یا مرتب سازی کنیم و … ولی داده ای اصلی همچنان بدون تغییر در DataTable قرار دارند.

از اینجا می توان به راحتی تفاوت این دو را درک کرد.