0005 . 【C#Android開發】Sqlite ORM如何動態挖資料表的資料? 關鍵字: TableMapping

Android 學習筆記

以下是模擬情境: MyDatabase.db    是一個Sqlite的資料庫,

 

第一張表如下:

 

Table_Index 資料表 : 目的是存放定義名稱 TableName 以及自然產生的Guid資料表名稱

 

 

而當產生NewToeic_A這張資料表時,就會在資料庫中生產以Guid命名的資料表

 

 

 

那如何在Sqlite的Orm 中撈取該資料表的資料呢?

 

 

//讀取資料庫位置

string dbPath = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "Alphabet.db");

//連線

var db = new SQLiteConnection(dbPath);

 

//使用Query 下達 Tablemapping定義 然後使用Sqlcommand 取得資料

//Guid_refect 就是我們要撈的表  Table_Row 是類別是我們定義的資料格式

 

var Getrowsdata = db.Query(new TableMapping(typeof(Table_Row)), string.Format("Select * from {0}", Guid_refect));

 

 

 

 

※補充說明,上面的Table_Row是類別定義如下

 


 

 public class Table_Row

    {  

        /// <summary>

        /// 英文

        /// </summary>

        [MaxLength(300)]

        public string English { get; set; }



        /// <summary>

        /// 中文意思

        /// </summary>

        [MaxLength(300)]

        public string Chinese { get; set; }



    }

 

這樣就可以動態抓table的資料了,以此架構的基準下,可以延伸出用匿名型別定義類別抓資料,變成code first 型式控制資料庫,輕輕鬆鬆完成中小型架構的專案程式。