در طراحی File Based Database تنوع زیادی وجود داره.
اما هر چقدر که از امکانات آماده موجود NET. استفاده کنید زحمت کد نویسی کمتری خواهید داشت.
فرض کنید که بخواهید داده های یک جدول پایگاه داده رو از فایلی بخونید و در DataTable ای قرار بدهید.
ابتدا تصمیم میگیرید که می خواهید داده ها فشرده باشند یا رمزی شده باشند. البته می توانید هر دو رو انتخاب کنید.
موقع خواندن از فایل :
برای خواندن از فایل از File.OpenRead استفاده می کنید.
می توانید با یک شیوه رمز نگاری مثلا AES با RijndaelManaged یک متن XML رو که رمزی شده از اون فایل بخونید.
یا می توانید با DeflateStream با متد Deflate یک متن XML که فشرده شده رو از حالت فشرده خارج کنید.
حالا می توانید با DataTable.ReadXml کل اطلاعات جدول و شمای اون جدول رو از اون متن XML بخونید و از DataTable استفاده کنید.
و برعکس موقع نوشتن در فایل :
با DataTable.WriteXml کل اطلاعات جدول و شمای اون رو بصورت یک متن XML در می آورید.
می توانید با یک شیوه رمز نگاری مثلا AES با RijndaelManaged اون متن XML رو رمزی کنید.
یا می توانید با DeflateStream با متد Deflate اون متن XML رو فشرده کنید.
برای نوشتن در فایل از File.Create استفاده می کنید.
FileBasedDatabaseSample.zip