iT邦幫忙

0

C#如何讀取檔案後新增內容

c#
  • 分享至 

  • xImage

最近想做一個功能,可以讀取一個檔案並修改內容

檔案內容大概是這樣

https://ithelp.ithome.com.tw/upload/images/20211112/20110132SPreO6PA9n.jpg

我會讀取指定資料庫的TABLE然後把讓我這個檔案裏面自動修改CLASS名稱跟增加
TABLE裡的欄位
像我輸入AAA
CLASS就會變成NIS_MAAARec
然後假設TABLE裡有個欄位叫BBB就會在目前已有的屬性欄位後面新增
一個叫

private string _BBB;

public string BBB { get { return _BBB; } set { _BBB = value; } }

目前我已經可以修改CLASS名稱剩下屬性欄位暫時無頭緒,想請問可以怎麼做呢?
這是我的程式碼

  var TextName = textBox1.Text;
            TransService Srv = new TransService();
            //取DB Table之所有欄位
            List<DBColumn> Resultstring = Srv.GetDbCoumnList(TextName);

            if (!string.IsNullOrWhiteSpace(TextName))
            {
                string path = @"C:\NIS_MTemplateRec.cs";
                string[] arr = File.ReadAllLines(path);
                string str;
                ArrayList list = new ArrayList();


                foreach (var line in arr)
                {
                    string[] sArray = line.Split();

                    for (var i = 0; i < sArray.Count(); i++)
                    {
                        if (sArray[i].Contains("@NIS_Template@"))
                        {

                            sArray[i] = sArray[i].Replace("@NIS_Template@", TextName);
                        }

                    }
                    str = string.Join(" ", sArray);

                    if (!string.IsNullOrWhiteSpace(str))
                    {
                        list.Add(str);
                    }
                    else
                    {
                        list.Add(line);
                    }


                }

CLASS DBColumn

  public class DBColumn
        {
            public string COLUMN_NAME { get; set; }
            public string DATA_TYPE { get; set; }
        }

檔案裡的欄位其實資料庫裡也有
所以在想是乾脆直接完全用資料庫裡的帶進去
還是做個判斷
只是目前帶進去部分暫時沒頭緒
所以想請教一下這個該如何實現?

fillano iT邦超人 1 級 ‧ 2021-11-14 10:48:19 檢舉
你做的事情,Entity Framework會幫你做掉,你確定要自己造輪子?還是說你有動態新增資料表的需求,透過Entity Framework無法滿足你的需求(因為Entity Framework是透過工具,在開發階段有資料庫結構異動時做這件事)?
tenno081 iT邦研究生 4 級 ‧ 2021-11-14 16:32:41 檢舉
這個部分是還沒想到用Entity
原則上功能類似這個網站
https://lawrencetech.blogspot.com/2011/06/blog-post_7.html
但我上面的好像覺得不用寫到這樣
他希望我只要先用一個檔案當板模然後稍微調整板模裡的內容即可
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
天黑
iT邦研究生 5 級 ‧ 2021-11-16 15:52:12

給你另一個可能性 T4

參考連結

tenno081 iT邦研究生 4 級 ‧ 2021-11-16 15:53:53 檢舉

我試試看

目前我是成功把屬性欄位加進去了 雖然還是有些問題= =

天黑 iT邦研究生 5 級 ‧ 2021-11-17 17:13:28 檢舉

至少前進了 哈哈

tenno081 iT邦研究生 4 級 ‧ 2021-11-17 17:18:06 檢舉

我後來是改這個做法
https://lawrencetech.blogspot.com/2011/06/blog-post_7.html
原作法不是很好XD

我要發表回答

立即登入回答